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.
Copyright (C) 2012-2017 Edgewall Software