comparison markup/tests/template.py @ 51:b2383634ec04 trunk

Fix `py:for` directive when combined with other directives (such as `py:strip`).
author cmlenz
date Tue, 04 Jul 2006 09:03:04 +0000
parents d3842cd76e92
children 512eb72dbb19
comparison
equal deleted inserted replaced
50:d3842cd76e92 51:b2383634ec04
53 self.assertEqual("""<doc> 53 self.assertEqual("""<doc>
54 <b>foo</b> 54 <b>foo</b>
55 </doc>""", str(tmpl.generate())) 55 </doc>""", str(tmpl.generate()))
56 56
57 57
58 class ForDirectiveTestCase(unittest.TestCase):
59 """Tests for the `py:def` template directive."""
60
61 def test_loop_with_strip(self):
62 """
63 Verify that the a named template function with a strip directive
64 actually strips of the outer element.
65 """
66 tmpl = Template("""<doc xmlns:py="http://purl.org/kid/ns#">
67 <div py:for="item in items" py:strip="">
68 <b>${item}</b>
69 </div>
70 </doc>""")
71 self.assertEqual("""<doc>
72 <b>1</b>
73 <b>2</b>
74 <b>3</b>
75 <b>4</b>
76 <b>5</b>
77 </doc>""", str(tmpl.generate(Context(items=range(1, 6)))))
78
79
58 class MatchDirectiveTestCase(unittest.TestCase): 80 class MatchDirectiveTestCase(unittest.TestCase):
59 """Tests for the `py:match` template directive.""" 81 """Tests for the `py:match` template directive."""
60 82
61 def test_with_strip(self): 83 def test_with_strip(self):
62 """ 84 """
260 suite = unittest.TestSuite() 282 suite = unittest.TestSuite()
261 suite.addTest(doctest.DocTestSuite(Template.__module__)) 283 suite.addTest(doctest.DocTestSuite(Template.__module__))
262 suite.addTest(unittest.makeSuite(TemplateTestCase, 'test')) 284 suite.addTest(unittest.makeSuite(TemplateTestCase, 'test'))
263 suite.addTest(unittest.makeSuite(AttrsDirectiveTestCase, 'test')) 285 suite.addTest(unittest.makeSuite(AttrsDirectiveTestCase, 'test'))
264 suite.addTest(unittest.makeSuite(DefDirectiveTestCase, 'test')) 286 suite.addTest(unittest.makeSuite(DefDirectiveTestCase, 'test'))
287 suite.addTest(unittest.makeSuite(ForDirectiveTestCase, 'test'))
265 suite.addTest(unittest.makeSuite(MatchDirectiveTestCase, 'test')) 288 suite.addTest(unittest.makeSuite(MatchDirectiveTestCase, 'test'))
266 suite.addTest(unittest.makeSuite(StripDirectiveTestCase, 'test')) 289 suite.addTest(unittest.makeSuite(StripDirectiveTestCase, 'test'))
267 return suite 290 return suite
268 291
269 if __name__ == '__main__': 292 if __name__ == '__main__':
Copyright (C) 2012-2017 Edgewall Software