Mercurial > genshi > mirror
comparison markup/tests/template.py @ 81:d60486018004 trunk
Template expressions are now compiled to Python bytecode.
author | cmlenz |
---|---|
date | Sat, 15 Jul 2006 11:29:25 +0000 |
parents | f5ec6d4a61e4 |
children | 80386d62814f |
comparison
equal
deleted
inserted
replaced
80:e0957965553f | 81:d60486018004 |
---|---|
471 self.assertEqual('test.html', e.filename) | 471 self.assertEqual('test.html', e.filename) |
472 if sys.version_info[:2] >= (2, 4): | 472 if sys.version_info[:2] >= (2, 4): |
473 self.assertEqual(1, e.lineno) | 473 self.assertEqual(1, e.lineno) |
474 | 474 |
475 def test_directive_value_syntax_error(self): | 475 def test_directive_value_syntax_error(self): |
476 xml = '<p xmlns:py="http://markup.edgewall.org/" py:if="bar\'" />' | 476 xml = """<p xmlns:py="http://markup.edgewall.org/" py:if="bar'" />""" |
477 tmpl = Template(xml, filename='test.html') | |
478 try: | 477 try: |
479 list(tmpl.generate()) | 478 tmpl = Template(xml, filename='test.html') |
480 self.fail('Expected SyntaxError') | 479 self.fail('Expected SyntaxError') |
481 except TemplateSyntaxError, e: | 480 except TemplateSyntaxError, e: |
482 self.assertEqual('test.html', e.filename) | 481 self.assertEqual('test.html', e.filename) |
483 if sys.version_info[:2] >= (2, 4): | 482 if sys.version_info[:2] >= (2, 4): |
484 self.assertEqual(1, e.lineno) | 483 self.assertEqual(1, e.lineno) |
485 # We don't really care about the offset here, do we? | 484 # We don't really care about the offset here, do we? |
486 | 485 |
487 def test_expression_syntax_error(self): | 486 def test_expression_syntax_error(self): |
488 xml = '<p>\n Foo <em>${bar"}</em>\n</p>' | 487 xml = """<p> |
489 tmpl = Template(xml, filename='test.html') | 488 Foo <em>${bar"}</em> |
490 ctxt = Context(bar='baz') | 489 </p>""" |
491 try: | 490 try: |
492 list(tmpl.generate(ctxt)) | 491 tmpl = Template(xml, filename='test.html') |
493 self.fail('Expected SyntaxError') | 492 self.fail('Expected SyntaxError') |
494 except TemplateSyntaxError, e: | 493 except TemplateSyntaxError, e: |
495 self.assertEqual('test.html', e.filename) | 494 self.assertEqual('test.html', e.filename) |
496 if sys.version_info[:2] >= (2, 4): | 495 if sys.version_info[:2] >= (2, 4): |
497 self.assertEqual(2, e.lineno) | 496 self.assertEqual(2, e.lineno) |
498 self.assertEqual(10, e.offset) | |
499 | 497 |
500 def test_markup_noescape(self): | 498 def test_markup_noescape(self): |
501 """ | 499 """ |
502 Verify that outputting context data that is a `Markup` instance is not | 500 Verify that outputting context data that is a `Markup` instance is not |
503 escaped. | 501 escaped. |