mirror of
https://github.com/django/django.git
synced 2025-08-04 19:08:28 +00:00
Fixed #27175 -- Deprecated silencing exceptions from the {% include %} template tag.
Thanks Tim Graham for the review.
This commit is contained in:
parent
7ca3b391b6
commit
331ca5391e
6 changed files with 53 additions and 10 deletions
|
@ -1,7 +1,10 @@
|
|||
import warnings
|
||||
|
||||
from django.template import (
|
||||
Context, Engine, TemplateDoesNotExist, TemplateSyntaxError,
|
||||
)
|
||||
from django.test import SimpleTestCase
|
||||
from django.test import SimpleTestCase, ignore_warnings
|
||||
from django.utils.deprecation import RemovedInDjango21Warning
|
||||
|
||||
from ..utils import setup
|
||||
from .test_basic import basic_templates
|
||||
|
@ -41,9 +44,20 @@ class IncludeTagTests(SimpleTestCase):
|
|||
with self.assertRaises(TemplateDoesNotExist):
|
||||
template.render(Context({}))
|
||||
else:
|
||||
output = template.render(Context({}))
|
||||
with warnings.catch_warnings(record=True) as warns:
|
||||
warnings.simplefilter('always')
|
||||
output = template.render(Context({}))
|
||||
|
||||
self.assertEqual(output, "ab")
|
||||
|
||||
self.assertEqual(len(warns), 1)
|
||||
self.assertEqual(
|
||||
str(warns[0].message),
|
||||
"Rendering {% include 'include04' %} raised "
|
||||
"TemplateDoesNotExist. In Django 2.1, this exception will be "
|
||||
"raised rather than silenced and rendered as an empty string.",
|
||||
)
|
||||
|
||||
@setup({
|
||||
'include 05': 'template with a space',
|
||||
'include06': '{% include "include 05"%}',
|
||||
|
@ -169,7 +183,8 @@ class IncludeTagTests(SimpleTestCase):
|
|||
with self.assertRaises(RuntimeError):
|
||||
template.render(Context())
|
||||
else:
|
||||
self.assertEqual(template.render(Context()), '')
|
||||
with ignore_warnings(category=RemovedInDjango21Warning):
|
||||
self.assertEqual(template.render(Context()), '')
|
||||
|
||||
@setup({'include-error08': '{% include "include-fail2" %}'}, include_fail_templates)
|
||||
def test_include_error08(self):
|
||||
|
@ -179,7 +194,8 @@ class IncludeTagTests(SimpleTestCase):
|
|||
with self.assertRaises(TemplateSyntaxError):
|
||||
template.render(Context())
|
||||
else:
|
||||
self.assertEqual(template.render(Context()), '')
|
||||
with ignore_warnings(category=RemovedInDjango21Warning):
|
||||
self.assertEqual(template.render(Context()), '')
|
||||
|
||||
@setup({'include-error09': '{% include failed_include %}'}, include_fail_templates)
|
||||
def test_include_error09(self):
|
||||
|
@ -190,7 +206,8 @@ class IncludeTagTests(SimpleTestCase):
|
|||
with self.assertRaises(RuntimeError):
|
||||
template.render(context)
|
||||
else:
|
||||
self.assertEqual(template.render(context), '')
|
||||
with ignore_warnings(category=RemovedInDjango21Warning):
|
||||
self.assertEqual(template.render(context), '')
|
||||
|
||||
@setup({'include-error10': '{% include failed_include %}'}, include_fail_templates)
|
||||
def test_include_error10(self):
|
||||
|
@ -201,7 +218,8 @@ class IncludeTagTests(SimpleTestCase):
|
|||
with self.assertRaises(TemplateSyntaxError):
|
||||
template.render(context)
|
||||
else:
|
||||
self.assertEqual(template.render(context), '')
|
||||
with ignore_warnings(category=RemovedInDjango21Warning):
|
||||
self.assertEqual(template.render(context), '')
|
||||
|
||||
|
||||
class IncludeTests(SimpleTestCase):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue