Skip to content
Snippets Groups Projects
Commit a113f140 authored by Mike Bayer's avatar Mike Bayer
Browse files

unit tests....

parent 39d57c0b
No related branches found
No related tags found
No related merge requests found
...@@ -32,13 +32,11 @@ class FilterTest(unittest.TestCase): ...@@ -32,13 +32,11 @@ class FilterTest(unittest.TestCase):
t = Template(""" t = Template("""
${"this is <text>" | h} ${"this is <text>" | h}
""") """)
print t.code
assert flatten_result(t.render()) == "this is &lt;text&gt;" assert flatten_result(t.render()) == "this is &lt;text&gt;"
t = Template(""" t = Template("""
http://foo.com/arg1=${"hi! this is a string." | u} http://foo.com/arg1=${"hi! this is a string." | u}
""") """)
print t.code
assert flatten_result(t.render()) == "http://foo.com/arg1=hi%21+this+is+a+string." assert flatten_result(t.render()) == "http://foo.com/arg1=hi%21+this+is+a+string."
class BufferTest(unittest.TestCase): class BufferTest(unittest.TestCase):
......
from mako.template import Template from mako.template import Template
import unittest, re from mako import lookup
from util import flatten_result
import unittest
class NamespaceTest(unittest.TestCase): class NamespaceTest(unittest.TestCase):
def test_inline(self): def test_inline(self):
template = """ t = Template("""
<%namespace name="x"> <%namespace name="x">
<%component name="a"> <%component name="a">
this is x a this is x a
...@@ -16,12 +18,56 @@ class NamespaceTest(unittest.TestCase): ...@@ -16,12 +18,56 @@ class NamespaceTest(unittest.TestCase):
${x.a()} ${x.a()}
${x.b()} ${x.b()}
""" """)
t = Template(template) assert flatten_result(t.render()) == "this is x a this is x b, and heres this is x a"
result = t.render()
result = re.sub(r'[\s\n]+', ' ', result).strip()
assert result == "this is x a this is x b, and heres this is x a"
def test_template(self):
collection = lookup.TemplateLookup()
collection.put_string('main.html', """
<%namespace name="comp" file="components.html"/>
this is main. ${comp.def1("hi")}
${comp.def2("there")}
""")
collection.put_string('components.html', """
<%component name="def1(s)">
def1: ${s}
</%component>
<%component name="def2(x)">
def2: ${x}
</%component>
""")
assert flatten_result(collection.get_template('main.html').render()) == "this is main. def1: hi def2: there"
def test_overload(self):
collection = lookup.TemplateLookup()
collection.put_string('main.html', """
<%namespace name="comp" file="components.html">
<%component name="def1(x, y)">
overridden def1 ${x}, ${y}
</%component>
</%namespace>
this is main. ${comp.def1("hi", "there")}
${comp.def2("there")}
""")
collection.put_string('components.html', """
<%component name="def1(s)">
def1: ${s}
</%component>
<%component name="def2(x)">
def2: ${x}
</%component>
""")
assert flatten_result(collection.get_template('main.html').render()) == "this is main. overridden def1 hi, there def2: there"
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
from mako.template import Template from mako.template import Template
import unittest import unittest
from util import flatten_result from util import flatten_result, result_lines
class EncodingTest(unittest.TestCase): class EncodingTest(unittest.TestCase):
def test_unicode(self): def test_unicode(self):
...@@ -13,6 +13,24 @@ class EncodingTest(unittest.TestCase): ...@@ -13,6 +13,24 @@ class EncodingTest(unittest.TestCase):
val = u"""Alors vous imaginez ma surprise, au lever du jour, quand une drôle de petit voix m’a réveillé. Elle disait: « S’il vous plaît… dessine-moi un mouton! »""" val = u"""Alors vous imaginez ma surprise, au lever du jour, quand une drôle de petit voix m’a réveillé. Elle disait: « S’il vous plaît… dessine-moi un mouton! »"""
template = Template("${val}") template = Template("${val}")
assert template.render_unicode(val=val) == u"""Alors vous imaginez ma surprise, au lever du jour, quand une drôle de petit voix m’a réveillé. Elle disait: « S’il vous plaît… dessine-moi un mouton! »""" assert template.render_unicode(val=val) == u"""Alors vous imaginez ma surprise, au lever du jour, quand une drôle de petit voix m’a réveillé. Elle disait: « S’il vous plaît… dessine-moi un mouton! »"""
class ControlTest(unittest.TestCase):
def test_control(self):
t = Template("""
# this is a template.
% for x in y:
% if x.has_key('test'):
yes x has test
% else:
no x does not have test
%endif
%endfor
""")
assert result_lines(t.render(y=[{'test':'one'}, {'foo':'bar'}, {'foo':'bar', 'test':'two'}])) == [
"yes x has test",
"no x does not have test",
"yes x has test"
]
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment