diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-10-25 23:01:21 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-10-25 23:01:21 -0400 |
commit | 5ea96997a9b50786d41cbbcb579151b80a718cb2 (patch) | |
tree | c2ba0835a285eaa4a8f26ef97fcb3b37e1308f95 /test/test_templite.py | |
parent | 4ca33df385f58b7b3da1b3094b90128b9dd8dca2 (diff) | |
download | python-coveragepy-git-5ea96997a9b50786d41cbbcb579151b80a718cb2.tar.gz |
Templite v2, which can handle if's and nested control structures.
Diffstat (limited to 'test/test_templite.py')
-rw-r--r-- | test/test_templite.py | 59 |
1 files changed, 57 insertions, 2 deletions
diff --git a/test/test_templite.py b/test/test_templite.py index 4c7545bf..8cb25865 100644 --- a/test/test_templite.py +++ b/test/test_templite.py @@ -130,12 +130,67 @@ class TempliteTest(unittest.TestCase): # Single-line comments work: self.try_render( "Hello, {# Name goes here: #}{{name}}!", - {'name':'Ned'}, "Hello, Ned!") + {'name':'Ned'}, "Hello, Ned!" + ) # and so do multi-line comments: self.try_render( "Hello, {# Name\ngoes\nhere: #}{{name}}!", - {'name':'Ned'}, "Hello, Ned!") + {'name':'Ned'}, "Hello, Ned!" + ) + def test_if(self): + self.try_render( + "Hi, {% if ned %}NED{% endif %}{% if ben %}BEN{% endif %}!", + {'ned': 1, 'ben': 0}, + "Hi, NED!" + ) + self.try_render( + "Hi, {% if ned %}NED{% endif %}{% if ben %}BEN{% endif %}!", + {'ned': 0, 'ben': 1}, + "Hi, BEN!" + ) + self.try_render( + "Hi, {% if ned %}NED{% if ben %}BEN{% endif %}{% endif %}!", + {'ned': 0, 'ben': 0}, + "Hi, !" + ) + self.try_render( + "Hi, {% if ned %}NED{% if ben %}BEN{% endif %}{% endif %}!", + {'ned': 1, 'ben': 0}, + "Hi, NED!" + ) + self.try_render( + "Hi, {% if ned %}NED{% if ben %}BEN{% endif %}{% endif %}!", + {'ned': 1, 'ben': 1}, + "Hi, NEDBEN!" + ) + def test_loop_if(self): + self.try_render( + "@{% for n in nums %}{% if n %}Z{% endif %}{{n}}{% endfor %}!", + {'nums': [0,1,2]}, + "@0Z1Z2!" + ) + self.try_render( + "X{%if nums%}@{% for n in nums %}{{n}}{% endfor %}{%endif%}!", + {'nums': [0,1,2]}, + "X@012!" + ) + self.try_render( + "X{%if nums%}@{% for n in nums %}{{n}}{% endfor %}{%endif%}!", + {'nums': []}, + "X!" + ) + + def test_nested_loops(self): + self.try_render( + "@{% for n in nums %}" + "{% for a in abc %}{{a}}{{n}}{% endfor %}" + "{% endfor %}!", + {'nums': [0,1,2], 'abc': ['a', 'b', 'c']}, + "@a0b0c0a1b1c1a2b2c2!" + ) + + if __name__ == '__main__': unittest.main() |