tests.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from django.test import SimpleTestCase, override_settings
  2. from django.test.utils import require_jinja2
  3. @override_settings(ROOT_URLCONF='shortcuts.urls')
  4. class RenderTests(SimpleTestCase):
  5. def test_render(self):
  6. response = self.client.get('/render/')
  7. self.assertEqual(response.status_code, 200)
  8. self.assertEqual(response.content, b'FOO.BAR../render/\n')
  9. self.assertEqual(response['Content-Type'], 'text/html; charset=utf-8')
  10. self.assertFalse(hasattr(response.context.request, 'current_app'))
  11. def test_render_with_multiple_templates(self):
  12. response = self.client.get('/render/multiple_templates/')
  13. self.assertEqual(response.status_code, 200)
  14. self.assertEqual(response.content, b'FOO.BAR../render/multiple_templates/\n')
  15. def test_render_with_content_type(self):
  16. response = self.client.get('/render/content_type/')
  17. self.assertEqual(response.status_code, 200)
  18. self.assertEqual(response.content, b'FOO.BAR../render/content_type/\n')
  19. self.assertEqual(response['Content-Type'], 'application/x-rendertest')
  20. def test_render_with_status(self):
  21. response = self.client.get('/render/status/')
  22. self.assertEqual(response.status_code, 403)
  23. self.assertEqual(response.content, b'FOO.BAR../render/status/\n')
  24. @require_jinja2
  25. def test_render_with_using(self):
  26. response = self.client.get('/render/using/')
  27. self.assertEqual(response.content, b'DTL\n')
  28. response = self.client.get('/render/using/?using=django')
  29. self.assertEqual(response.content, b'DTL\n')
  30. response = self.client.get('/render/using/?using=jinja2')
  31. self.assertEqual(response.content, b'Jinja2\n')