test_debug.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from django.contrib.auth.models import Group
  2. from django.test import SimpleTestCase, override_settings
  3. from ..utils import setup
  4. @override_settings(DEBUG=True)
  5. class DebugTests(SimpleTestCase):
  6. @override_settings(DEBUG=False)
  7. @setup({'non_debug': '{% debug %}'})
  8. def test_non_debug(self):
  9. output = self.engine.render_to_string('non_debug', {})
  10. self.assertEqual(output, '')
  11. @setup({'modules': '{% debug %}'})
  12. def test_modules(self):
  13. output = self.engine.render_to_string('modules', {})
  14. self.assertIn(
  15. ''django': <module 'django' ',
  16. output,
  17. )
  18. @setup({'plain': '{% debug %}'})
  19. def test_plain(self):
  20. output = self.engine.render_to_string('plain', {'a': 1})
  21. self.assertTrue(output.startswith(
  22. '{'a': 1}'
  23. '{'False': False, 'None': None, '
  24. ''True': True}\n\n{'
  25. ))
  26. @setup({'non_ascii': '{% debug %}'})
  27. def test_non_ascii(self):
  28. group = Group(name="清風")
  29. output = self.engine.render_to_string('non_ascii', {'group': group})
  30. self.assertTrue(output.startswith(
  31. '{'group': <Group: 清風>}'
  32. ))
  33. @setup({'script': '{% debug %}'})
  34. def test_script(self):
  35. output = self.engine.render_to_string('script', {'frag': '<script>'})
  36. self.assertTrue(output.startswith(
  37. '{&#x27;frag&#x27;: &#x27;&lt;script&gt;&#x27;}'
  38. ))