django/tests/template_tests/syntax_tests/test_debug.py

46 lines
1.5 KiB
Python

from django.contrib.auth.models import Group
from django.test import SimpleTestCase, override_settings
from ..utils import setup
@override_settings(DEBUG=True)
class DebugTests(SimpleTestCase):
@override_settings(DEBUG=False)
@setup({"non_debug": "{% debug %}"})
def test_non_debug(self):
output = self.engine.render_to_string("non_debug", {})
self.assertEqual(output, "")
@setup({"modules": "{% debug %}"})
def test_modules(self):
output = self.engine.render_to_string("modules", {})
self.assertIn(
"'django': <module 'django' ",
output,
)
@setup({"plain": "{% debug %}"})
def test_plain(self):
output = self.engine.render_to_string("plain", {"a": 1})
self.assertTrue(
output.startswith(
"{'a': 1}"
"{'False': False, 'None': None, "
"'True': True}\n\n{"
)
)
@setup({"non_ascii": "{% debug %}"})
def test_non_ascii(self):
group = Group(name="清風")
output = self.engine.render_to_string("non_ascii", {"group": group})
self.assertTrue(output.startswith("{'group': <Group: 清風>}"))
@setup({"script": "{% debug %}"})
def test_script(self):
output = self.engine.render_to_string("script", {"frag": "<script>"})
self.assertTrue(
output.startswith("{&#x27;frag&#x27;: &#x27;&lt;script&gt;&#x27;}")
)