Armin Ronacher | fb5bebc | 2007-04-27 18:24:19 +0200 | [diff] [blame] | 1 | # test file for block super support |
| 2 | import jdebug |
Christoph Hack | e9e43bb | 2008-04-13 23:35:48 +0200 | [diff] [blame^] | 3 | from jinja2 import Environment, DictLoader |
Armin Ronacher | fb5bebc | 2007-04-27 18:24:19 +0200 | [diff] [blame] | 4 | |
| 5 | env = Environment(loader=DictLoader({ |
| 6 | 'a': '''\ |
| 7 | <title>{{ title|e }}</title> |
| 8 | <body> |
| 9 | {% block body %}Default{% endblock %} |
| 10 | </body> |
| 11 | ''', |
| 12 | 'b': ''' |
| 13 | {% set foo = 42 %} |
| 14 | ''', |
| 15 | 'c': ''' |
| 16 | {% extends 'a' %} |
| 17 | {% if true %} |
| 18 | {% set title = "foo" %} |
| 19 | {% endif %} |
| 20 | {% include 'b' %} |
| 21 | {% include 'tools' %} |
| 22 | {% block body %} |
| 23 | hehe, this comes from b: {{ foo }} |
| 24 | |
| 25 | Say hello to the former block content: |
| 26 | {{ say_hello(super()) }} |
| 27 | {% endblock %} |
| 28 | ''', |
| 29 | 'tools': ''' |
| 30 | {% macro say_hello name -%} |
| 31 | Hello {{ name }}! |
| 32 | {%- endmacro %} |
| 33 | ''' |
| 34 | })) |
| 35 | |
| 36 | tmpl = env.get_template('c') |
| 37 | print tmpl.render() |