Mercurial > genshi > genshi-test
comparison markup/tests/template.py @ 185:8e5a3048b359
Fix for #34: `py:def` macros can now be invoked from within expressions in attribute values.
author | cmlenz |
---|---|
date | Tue, 22 Aug 2006 14:52:44 +0000 |
parents | e27a48802987 |
children | f0b32f1c478c |
comparison
equal
deleted
inserted
replaced
184:e27a48802987 | 185:8e5a3048b359 |
---|---|
257 <b py:def="echo(what, bold=False)" py:strip="not bold">${what}</b> | 257 <b py:def="echo(what, bold=False)" py:strip="not bold">${what}</b> |
258 ${echo('foo')} | 258 ${echo('foo')} |
259 </doc>""") | 259 </doc>""") |
260 self.assertEqual("""<doc> | 260 self.assertEqual("""<doc> |
261 foo | 261 foo |
262 </doc>""", str(tmpl.generate())) | |
263 | |
264 def test_invocation_in_attribute(self): | |
265 tmpl = Template("""<doc xmlns:py="http://markup.edgewall.org/"> | |
266 <py:def function="echo(what)">${what or 'something'}</py:def> | |
267 <p class="${echo('foo')}">bar</p> | |
268 </doc>""") | |
269 self.assertEqual("""<doc> | |
270 <p class="foo">bar</p> | |
271 </doc>""", str(tmpl.generate())) | |
272 | |
273 def test_invocation_in_attribute_none(self): | |
274 tmpl = Template("""<doc xmlns:py="http://markup.edgewall.org/"> | |
275 <py:def function="echo()">${None}</py:def> | |
276 <p class="${echo()}">bar</p> | |
277 </doc>""") | |
278 self.assertEqual("""<doc> | |
279 <p>bar</p> | |
262 </doc>""", str(tmpl.generate())) | 280 </doc>""", str(tmpl.generate())) |
263 | 281 |
264 | 282 |
265 class ForDirectiveTestCase(unittest.TestCase): | 283 class ForDirectiveTestCase(unittest.TestCase): |
266 """Tests for the `py:for` template directive.""" | 284 """Tests for the `py:for` template directive.""" |