tests.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. from django.test import SimpleTestCase, override_settings
  2. from django.test.utils import require_jinja2
  3. @override_settings(
  4. ROOT_URLCONF='shortcuts.urls',
  5. )
  6. class ShortcutTests(SimpleTestCase):
  7. def test_render_to_response(self):
  8. response = self.client.get('/render_to_response/')
  9. self.assertEqual(response.status_code, 200)
  10. self.assertEqual(response.content, b'FOO.BAR..\n')
  11. self.assertEqual(response['Content-Type'], 'text/html; charset=utf-8')
  12. def test_render_to_response_with_multiple_templates(self):
  13. response = self.client.get('/render_to_response/multiple_templates/')
  14. self.assertEqual(response.status_code, 200)
  15. self.assertEqual(response.content, b'FOO.BAR..\n')
  16. def test_render_to_response_with_content_type(self):
  17. response = self.client.get('/render_to_response/content_type/')
  18. self.assertEqual(response.status_code, 200)
  19. self.assertEqual(response.content, b'FOO.BAR..\n')
  20. self.assertEqual(response['Content-Type'], 'application/x-rendertest')
  21. def test_render_to_response_with_status(self):
  22. response = self.client.get('/render_to_response/status/')
  23. self.assertEqual(response.status_code, 403)
  24. self.assertEqual(response.content, b'FOO.BAR..\n')
  25. @require_jinja2
  26. def test_render_to_response_with_using(self):
  27. response = self.client.get('/render_to_response/using/')
  28. self.assertEqual(response.content, b'DTL\n')
  29. response = self.client.get('/render_to_response/using/?using=django')
  30. self.assertEqual(response.content, b'DTL\n')
  31. response = self.client.get('/render_to_response/using/?using=jinja2')
  32. self.assertEqual(response.content, b'Jinja2\n')
  33. def test_render(self):
  34. response = self.client.get('/render/')
  35. self.assertEqual(response.status_code, 200)
  36. self.assertEqual(response.content, b'FOO.BAR../render/\n')
  37. self.assertEqual(response['Content-Type'], 'text/html; charset=utf-8')
  38. self.assertFalse(hasattr(response.context.request, 'current_app'))
  39. def test_render_with_multiple_templates(self):
  40. response = self.client.get('/render/multiple_templates/')
  41. self.assertEqual(response.status_code, 200)
  42. self.assertEqual(response.content, b'FOO.BAR../render/multiple_templates/\n')
  43. def test_render_with_content_type(self):
  44. response = self.client.get('/render/content_type/')
  45. self.assertEqual(response.status_code, 200)
  46. self.assertEqual(response.content, b'FOO.BAR../render/content_type/\n')
  47. self.assertEqual(response['Content-Type'], 'application/x-rendertest')
  48. def test_render_with_status(self):
  49. response = self.client.get('/render/status/')
  50. self.assertEqual(response.status_code, 403)
  51. self.assertEqual(response.content, b'FOO.BAR../render/status/\n')
  52. @require_jinja2
  53. def test_render_with_using(self):
  54. response = self.client.get('/render/using/')
  55. self.assertEqual(response.content, b'DTL\n')
  56. response = self.client.get('/render/using/?using=django')
  57. self.assertEqual(response.content, b'DTL\n')
  58. response = self.client.get('/render/using/?using=jinja2')
  59. self.assertEqual(response.content, b'Jinja2\n')