From 0ea87f4375ac6b52b2a1270f22a26668f6289a22 Mon Sep 17 00:00:00 2001 From: Michael A Date: Thu, 10 May 2012 14:52:54 -0300 Subject: [PATCH] Updated to include a test which fails currently due to issue #79 ( https://github.com/mitsuhiko/jinja2/issues/79 ), but would not fail after pull request #83 ( https://github.com/mitsuhiko/jinja2/pull/83 ). --- jinja2/testsuite/inheritance.py | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/jinja2/testsuite/inheritance.py b/jinja2/testsuite/inheritance.py index 355aa0c9b..8fd62ff6e 100644 --- a/jinja2/testsuite/inheritance.py +++ b/jinja2/testsuite/inheritance.py @@ -12,7 +12,7 @@ from jinja2.testsuite import JinjaTestCase -from jinja2 import Environment, DictLoader +from jinja2 import Environment, DictLoader, TemplateError LAYOUTTEMPLATE = '''\ @@ -53,13 +53,26 @@ {% endblock %} ''' +DOUBLEEXTENDS = '''\ +{% extends "layout" %} +{% extends "layout" %} +{% block block1 %} + {% if false %} + {% block block2 %} + this should workd + {% endblock %} + {% endif %} +{% endblock %} +''' + env = Environment(loader=DictLoader({ 'layout': LAYOUTTEMPLATE, 'level1': LEVEL1TEMPLATE, 'level2': LEVEL2TEMPLATE, 'level3': LEVEL3TEMPLATE, 'level4': LEVEL4TEMPLATE, - 'working': WORKINGTEMPLATE + 'working': WORKINGTEMPLATE, + 'doublee': DOUBLEEXTENDS }), trim_blocks=True) @@ -105,6 +118,15 @@ def test_super(self): def test_working(self): tmpl = env.get_template('working') + + def test_double_extends(self): + """ + Ensures that a template with more than 1 {% extends ... %} usage raises a ``TemplateError``. + """ + try: + tmpl = env.get_template('doublee') + except Exception, e: + assert isinstance(e, TemplateError) def test_reuse_blocks(self): tmpl = env.from_string('{{ self.foo() }}|{% block foo %}42'