diff options
Diffstat (limited to 'tests/template_tests')
| -rw-r--r-- | tests/template_tests/templates/test_extends_block_error.html | 2 | ||||
| -rw-r--r-- | tests/template_tests/templates/test_extends_block_error_parent.html | 1 | ||||
| -rw-r--r-- | tests/template_tests/tests.py | 17 |
3 files changed, 19 insertions, 1 deletions
diff --git a/tests/template_tests/templates/test_extends_block_error.html b/tests/template_tests/templates/test_extends_block_error.html new file mode 100644 index 0000000000..c4733747a2 --- /dev/null +++ b/tests/template_tests/templates/test_extends_block_error.html @@ -0,0 +1,2 @@ +{% extends "test_extends_block_error_parent.html" %} +{% block content %}{% include "missing.html" %}{% endblock %} diff --git a/tests/template_tests/templates/test_extends_block_error_parent.html b/tests/template_tests/templates/test_extends_block_error_parent.html new file mode 100644 index 0000000000..cb0dbe444b --- /dev/null +++ b/tests/template_tests/templates/test_extends_block_error_parent.html @@ -0,0 +1 @@ +{% block content %}{% endblock %} diff --git a/tests/template_tests/tests.py b/tests/template_tests/tests.py index a8f089c351..5ea026723e 100644 --- a/tests/template_tests/tests.py +++ b/tests/template_tests/tests.py @@ -1,11 +1,14 @@ import sys from django.contrib.auth.models import Group -from django.template import Context, Engine, TemplateSyntaxError +from django.template import ( + Context, Engine, TemplateDoesNotExist, TemplateSyntaxError, +) from django.template.base import UNKNOWN_SOURCE from django.test import SimpleTestCase, override_settings from django.urls import NoReverseMatch from django.utils import translation +from django.utils.html import escape class TemplateTests(SimpleTestCase): @@ -134,6 +137,18 @@ class TemplateTests(SimpleTestCase): t.render(Context()) self.assertEqual(e.exception.template_debug['during'], '{% badtag %}') + def test_render_tag_error_in_extended_block(self): + """Errors in extended block are displayed correctly.""" + e = Engine(app_dirs=True, debug=True) + template = e.get_template('test_extends_block_error.html') + context = Context() + with self.assertRaises(TemplateDoesNotExist) as cm: + template.render(context) + self.assertEqual( + cm.exception.template_debug['during'], + escape('{% include "missing.html" %}'), + ) + def test_super_errors(self): """ #18169 -- NoReverseMatch should not be silence in block.super. |
