summaryrefslogtreecommitdiff
path: root/test/test_templite.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2009-10-25 23:01:21 -0400
committerNed Batchelder <ned@nedbatchelder.com>2009-10-25 23:01:21 -0400
commit5ea96997a9b50786d41cbbcb579151b80a718cb2 (patch)
treec2ba0835a285eaa4a8f26ef97fcb3b37e1308f95 /test/test_templite.py
parent4ca33df385f58b7b3da1b3094b90128b9dd8dca2 (diff)
downloadpython-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.py59
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()