8
8
from .plugin_test import DjangoPluginTestCase , test_settings , django_start_at
9
9
10
10
11
+ # Make settings overrides for tests below.
11
12
if django .VERSION >= (1 , 8 ):
12
- DEBUG_FALSE_OVERRIDES = {
13
- 'TEMPLATES' : [ test_settings ()[ 'TEMPLATES' ][ 0 ]]
14
- }
13
+ NON_DJANGO_BACKEND = 'django.template.backends.dummy.TemplateStrings'
14
+
15
+ DEBUG_FALSE_OVERRIDES = test_settings ()
15
16
DEBUG_FALSE_OVERRIDES ['TEMPLATES' ][0 ]['OPTIONS' ]['debug' ] = False
17
+
18
+ NO_OPTIONS_OVERRIDES = test_settings ()
19
+ del NO_OPTIONS_OVERRIDES ['TEMPLATES' ][0 ]['OPTIONS' ]
20
+
21
+ MULTIPLE_ENGINE_OVERRIDES = test_settings ()
22
+ MULTIPLE_ENGINE_OVERRIDES ['TEMPLATES' ].append ({
23
+ 'BACKEND' : NON_DJANGO_BACKEND ,
24
+ })
25
+
26
+ OTHER_ENGINE_OVERRIDES = test_settings ()
27
+ OTHER_ENGINE_OVERRIDES ['TEMPLATES' ][0 ]['BACKEND' ] = NON_DJANGO_BACKEND
28
+ OTHER_ENGINE_OVERRIDES ['TEMPLATES' ][0 ]['OPTIONS' ] = {}
16
29
else :
17
30
DEBUG_FALSE_OVERRIDES = {'TEMPLATE_DEBUG' : False }
31
+ NO_OPTIONS_OVERRIDES = MULTIPLE_ENGINE_OVERRIDES = OTHER_ENGINE_OVERRIDES = {}
18
32
19
33
20
34
class SettingsTest (DjangoPluginTestCase ):
@@ -25,3 +39,27 @@ def test_debug_false(self):
25
39
msg = "Template debugging must be enabled in settings."
26
40
with self .assertRaisesRegexp (DjangoTemplatePluginException , msg ):
27
41
self .run_django_coverage ()
42
+
43
+ @django_start_at (1 , 8 )
44
+ @override_settings (** NO_OPTIONS_OVERRIDES )
45
+ def test_no_options (self ):
46
+ self .make_template ('Hello' )
47
+ msg = "Template debugging must be enabled in settings."
48
+ with self .assertRaisesRegexp (DjangoTemplatePluginException , msg ):
49
+ self .run_django_coverage ()
50
+
51
+ @django_start_at (1 , 8 )
52
+ @override_settings (** MULTIPLE_ENGINE_OVERRIDES )
53
+ def test_multiple_engines (self ):
54
+ self .make_template ('Hello' )
55
+ msg = "Can't use multiple template engines."
56
+ with self .assertRaisesRegexp (DjangoTemplatePluginException , msg ):
57
+ self .run_django_coverage ()
58
+
59
+ @django_start_at (1 , 8 )
60
+ @override_settings (** OTHER_ENGINE_OVERRIDES )
61
+ def test_other_engine (self ):
62
+ self .make_template ('Hello' )
63
+ msg = "Can't use non-Django templates."
64
+ with self .assertRaisesRegexp (DjangoTemplatePluginException , msg ):
65
+ self .run_django_coverage ()
0 commit comments