summaryrefslogtreecommitdiff
path: root/tests/check_framework
diff options
context:
space:
mode:
authorSergei Maertens <sergei@maykinmedia.nl>2015-06-04 17:55:58 +0200
committerTim Graham <timograham@gmail.com>2015-06-06 19:40:26 -0400
commiteaf4d8c0d85056c3481986fe092d5a8786bc4f26 (patch)
treef85d8103149bb95079e35909d14ee9717a7b64ea /tests/check_framework
parent1884bf8e8e9fb3f9f44a9ec216aca96f63974268 (diff)
Fixed #24922 -- Added system check for templates setting
If `'loaders'` is present in the `TEMPLATES` options together with `APP_DIRS` set to `True`, the template engine raises an exception. This conflict is now detected by the system check templates.E001.
Diffstat (limited to 'tests/check_framework')
-rw-r--r--tests/check_framework/test_templates.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/check_framework/test_templates.py b/tests/check_framework/test_templates.py
new file mode 100644
index 0000000000..27ccf138a7
--- /dev/null
+++ b/tests/check_framework/test_templates.py
@@ -0,0 +1,39 @@
+from django.core.checks.templates import E001
+from django.test import SimpleTestCase
+from django.test.utils import override_settings
+
+
+class CheckTemplateSettingsAppDirsTest(SimpleTestCase):
+ TEMPLATES_APP_DIRS_AND_LOADERS = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'loaders': ['django.template.loaders.filesystem.Loader'],
+ },
+ },
+ ]
+
+ @property
+ def func(self):
+ from django.core.checks.templates import check_setting_app_dirs_loaders
+ return check_setting_app_dirs_loaders
+
+ @override_settings(TEMPLATES=TEMPLATES_APP_DIRS_AND_LOADERS)
+ def test_app_dirs_and_loaders(self):
+ """
+ Error if template loaders are specified and APP_DIRS is True.
+ """
+ self.assertEqual(self.func(None), [E001])
+
+ def test_app_dirs_removed(self):
+ TEMPLATES = self.TEMPLATES_APP_DIRS_AND_LOADERS[:]
+ del TEMPLATES[0]['APP_DIRS']
+ with self.settings(TEMPLATES=TEMPLATES):
+ self.assertEqual(self.func(None), [])
+
+ def test_loaders_removed(self):
+ TEMPLATES = self.TEMPLATES_APP_DIRS_AND_LOADERS[:]
+ del TEMPLATES[0]['OPTIONS']['loaders']
+ with self.settings(TEMPLATES=TEMPLATES):
+ self.assertEqual(self.func(None), [])