comparison markup/tests/template.py @ 134:df44110ca91d

* Improve the accuracy of line numbers for text nodes, so that reported errors about syntax or evaluation errors in expressions point to the right line (not quite perfect yet, though). * Evaluation errors in expressions now include the original expression code in the traceback.
author cmlenz
date Sun, 06 Aug 2006 18:07:21 +0000
parents e9259920db05
children 56d534eb53f9
comparison
equal deleted inserted replaced
133:b9a0031d4bbb 134:df44110ca91d
516 self.fail('Expected SyntaxError') 516 self.fail('Expected SyntaxError')
517 except TemplateSyntaxError, e: 517 except TemplateSyntaxError, e:
518 self.assertEqual('test.html', e.filename) 518 self.assertEqual('test.html', e.filename)
519 if sys.version_info[:2] >= (2, 4): 519 if sys.version_info[:2] >= (2, 4):
520 self.assertEqual(1, e.lineno) 520 self.assertEqual(1, e.lineno)
521 # We don't really care about the offset here, do we?
522 521
523 def test_expression_syntax_error(self): 522 def test_expression_syntax_error(self):
524 xml = """<p> 523 xml = """<p>
525 Foo <em>${bar"}</em> 524 Foo <em>${bar"}</em>
526 </p>""" 525 </p>"""
529 self.fail('Expected SyntaxError') 528 self.fail('Expected SyntaxError')
530 except TemplateSyntaxError, e: 529 except TemplateSyntaxError, e:
531 self.assertEqual('test.html', e.filename) 530 self.assertEqual('test.html', e.filename)
532 if sys.version_info[:2] >= (2, 4): 531 if sys.version_info[:2] >= (2, 4):
533 self.assertEqual(2, e.lineno) 532 self.assertEqual(2, e.lineno)
533
534 def test_expression_syntax_error_multi_line(self):
535 xml = """<p><em></em>
536
537 ${bar"}
538
539 </p>"""
540 try:
541 tmpl = Template(xml, filename='test.html')
542 self.fail('Expected SyntaxError')
543 except TemplateSyntaxError, e:
544 self.assertEqual('test.html', e.filename)
545 if sys.version_info[:2] >= (2, 4):
546 self.assertEqual(3, e.lineno)
534 547
535 def test_markup_noescape(self): 548 def test_markup_noescape(self):
536 """ 549 """
537 Verify that outputting context data that is a `Markup` instance is not 550 Verify that outputting context data that is a `Markup` instance is not
538 escaped. 551 escaped.
Copyright (C) 2012-2017 Edgewall Software