Mercurial > genshi > genshi-test
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. |