Automated merge with ssh://team@pocoo.org/jinja2-main
[jinja2.git] / tests / test_debug.py
1 # -*- coding: utf-8 -*-
2 """
3     Test debug interface
4     ~~~~~~~~~~~~~~~~~~~~
5
6     Tests the traceback rewriter.
7
8     :copyright: Copyright 2008 by Armin Ronacher.
9     :license: BSD.
10 """
11 from jinja2 import Environment
12 from test_loaders import filesystem_loader
13
14
15 env = Environment(loader=filesystem_loader)
16
17
18 test_runtime_error = '''
19 >>> tmpl = MODULE.env.get_template('broken.html')
20 >>> tmpl.render(fail=lambda: 1 / 0)
21 Traceback (most recent call last):
22   File "loaderres/templates/broken.html", line 2, in top-level template code
23     {{ fail() }}
24   File "<doctest test_runtime_error[1]>", line 1, in <lambda>
25     tmpl.render(fail=lambda: 1 / 0)
26 ZeroDivisionError: integer division or modulo by zero
27 '''
28
29
30 test_syntax_error = '''
31 >>> tmpl = MODULE.env.get_template('syntaxerror.html')
32 Traceback (most recent call last):
33   ...
34   File "loaderres/templates/syntaxerror.html", line 4, in <module>
35     {% endif %}
36 TemplateSyntaxError: unknown tag 'endif' (syntaxerror.html, line 4)
37 '''