Example #1
0
    def test_extends_depth(self):
        lookup = TemplateLookup()
        lookup['layout.html'] = Template('''
<%@ block name="header" %>
<h1>Hello</h1>
<%@ endblock %>

<p><%@ body %>!!</p>
''',
                                         lookup=lookup)

        lookup['override.html'] = Template('''
<%@ extends name="layout.html" %>
<%@ block name="header" %>
<h1>Hi!!</h1>
<%@ endblock %>

<%@ body %>
''',
                                           lookup=lookup)

        text = '''<%@ extends name="override.html" %>World'''

        self.assertEquals('''

<h1>Hi!!</h1>


<p>World!!</p>
''',
                          Template(text, lookup=lookup).render())
Example #2
0
    def test_scriptlet(self):
        text = u'''
<%
    a = 0
    for i in [1, 2, 3, 4]:
        a = a + i
%>
a = <%= 10 %>
'''
        template = Template(text=text)
        self.assertEqual(u'\n\na = 10\n', template.render())
Example #3
0
    def test_scriptlet(self):
        text = u'''
<%
    a = 0
    for i in [1, 2, 3, 4]:
        a = a + i
%>
a = <%= 10 %>
'''
        template = Template(text=text)
        self.assertEqual(u'\n\na = 10\n', template.render())
Example #4
0
    def test_include(self):
        lookup = TemplateLookup()
        lookup['hello.html'] = Template('Hello', lookup=lookup)
        text = '''
<p>
<%@ include name="hello.html" %>
</p>'''
        self.assertEquals('''
<p>
Hello
</p>''',
                          Template(text, lookup=lookup).render())
Example #5
0
    def test_function(self):
        text = u'''
<% def embed(): %>
hello
<%# end %>

<% embed() %>'''
        self.assertEqual(u'''hello''', Template(text=text).render().strip())
Example #6
0
    def test_block(self):
        text = '''
<%@ block name="header" %>
header
<%@ endblock %>

body
'''
        self.assertEquals('\n\nheader\n\n\nbody\n', Template(text).render())
Example #7
0
    def test_plaintext(self):
        text = u'''

abc
   def

qwer
  
x
'''
        self.assertEqual(text, Template(text=text).render())
Example #8
0
    def test_expression(self):
        text = u'''
lit is <%= 'language independent template' %>

number: <%= 6 %>

expression: <%= {'a':5}['a']
 + 4 %> == 9
'''
        self.assertEquals(u'''
lit is language independent template

number: 6

expression: 9 == 9
''', Template(text=text).render())
Example #9
0
    def test_forloop(self):
        text = u'''
<%
s = 0
for i in [1, 2, 3, 4]: %>
loop <%= i %><% s = s + i %>
<%# end %>
sum = <%= s %>'''

        self.assertEqual(u'''

loop 1

loop 2

loop 3

loop 4

sum = 10''',
                         Template(text=text).render())
Example #10
0
 def test_if(self):
     text = u'''<% if True: %><%= 1 %><%# end%><% else: %><%= 0 %><% end %>'''
     self.assertEqual(u'''1''', Template(text=text).render())
Example #11
0
 def test_context(self):
     text = u'''show <%= a %> <%= b %>'''
     self.assertEqual('show 5 Hello', Template(text=text).render(a=5, b='Hello'))