Fix compatibility between Django versions with regard to the type of some iterable settings such as TEMPLATE_CONTEXT_PROCESSORS.

This commit is contained in:
Jannis Leidel 2015-02-13 21:46:25 +01:00
parent 61d162d376
commit 9be0c4f700
6 changed files with 22 additions and 22 deletions

View file

@ -38,9 +38,9 @@ class Test(Configuration):
TEST_RUNNER = 'discover_runner.DiscoverRunner'
def TEMPLATE_CONTEXT_PROCESSORS(self):
return Configuration.TEMPLATE_CONTEXT_PROCESSORS + [
return tuple(Configuration.TEMPLATE_CONTEXT_PROCESSORS) + (
'tests.settings.base.test_callback',
]
)
ATTRIBUTE_SETTING = True

View file

@ -5,7 +5,7 @@ class Mixin1(object):
@property
def TEMPLATE_CONTEXT_PROCESSORS(self):
return super(Mixin1, self).TEMPLATE_CONTEXT_PROCESSORS + (
return tuple(super(Mixin1, self).TEMPLATE_CONTEXT_PROCESSORS) + (
'some_app.context_processors.processor1',)
@ -13,7 +13,7 @@ class Mixin2(object):
@property
def TEMPLATE_CONTEXT_PROCESSORS(self):
return super(Mixin2, self).TEMPLATE_CONTEXT_PROCESSORS + (
return tuple(super(Mixin2, self).TEMPLATE_CONTEXT_PROCESSORS) + (
'some_app.context_processors.processor2',)
@ -21,5 +21,5 @@ class Inheritance(Mixin2, Mixin1, Configuration):
@property
def TEMPLATE_CONTEXT_PROCESSORS(self):
return super(Inheritance, self).TEMPLATE_CONTEXT_PROCESSORS + (
return tuple(super(Inheritance, self).TEMPLATE_CONTEXT_PROCESSORS) + (
'some_app.context_processors.processorbase',)

View file

@ -4,5 +4,5 @@ from .main import Test
class Inheritance(Test):
def TEMPLATE_CONTEXT_PROCESSORS(self):
return super(Inheritance, self).TEMPLATE_CONTEXT_PROCESSORS() + (
return tuple(super(Inheritance, self).TEMPLATE_CONTEXT_PROCESSORS()) + (
'tests.settings.base.test_callback',)

View file

@ -4,5 +4,5 @@ from .base import Base
class Inheritance(Base):
def TEMPLATE_CONTEXT_PROCESSORS(self):
return super(Inheritance, self).TEMPLATE_CONTEXT_PROCESSORS + (
return tuple(super(Inheritance, self).TEMPLATE_CONTEXT_PROCESSORS) + (
'tests.settings.base.test_callback',)

View file

@ -14,9 +14,9 @@ class InheritanceTests(TestCase):
def test_inherited(self):
from tests.settings import single_inheritance
self.assertEqual(single_inheritance.TEMPLATE_CONTEXT_PROCESSORS,
global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
'tests.settings.base.test_callback',
))
tuple(global_settings.TEMPLATE_CONTEXT_PROCESSORS) + (
'tests.settings.base.test_callback',
))
@patch.dict(os.environ, clear=True,
DJANGO_CONFIGURATION='Inheritance',
@ -24,10 +24,10 @@ class InheritanceTests(TestCase):
def test_inherited2(self):
from tests.settings import multiple_inheritance
self.assertEqual(multiple_inheritance.TEMPLATE_CONTEXT_PROCESSORS,
global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
'tests.settings.base.test_callback',
'tests.settings.base.test_callback',
))
tuple(global_settings.TEMPLATE_CONTEXT_PROCESSORS) + (
'tests.settings.base.test_callback',
'tests.settings.base.test_callback',
))
@patch.dict(os.environ, clear=True,
DJANGO_CONFIGURATION='Inheritance',
@ -35,8 +35,8 @@ class InheritanceTests(TestCase):
def test_inherited3(self):
from tests.settings import mixin_inheritance
self.assertEqual(mixin_inheritance.TEMPLATE_CONTEXT_PROCESSORS,
global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
'some_app.context_processors.processor1',
'some_app.context_processors.processor2',
'some_app.context_processors.processorbase',
))
tuple(global_settings.TEMPLATE_CONTEXT_PROCESSORS) + (
'some_app.context_processors.processor1',
'some_app.context_processors.processor2',
'some_app.context_processors.processorbase',
))

View file

@ -23,9 +23,9 @@ class MainTests(TestCase):
self.assertNotEqual(main.PRISTINE_FUNCTION_SETTING, 5)
self.assertTrue(lambda: callable(main.PRISTINE_FUNCTION_SETTING))
self.assertEqual(main.TEMPLATE_CONTEXT_PROCESSORS,
global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
'tests.settings.base.test_callback',
))
tuple(global_settings.TEMPLATE_CONTEXT_PROCESSORS) + (
'tests.settings.base.test_callback',
))
self.assertEqual(main.PRE_SETUP_TEST_SETTING, 6)
self.assertRaises(AttributeError, lambda: main.POST_SETUP_TEST_SETTING)
self.assertEqual(main.Test.POST_SETUP_TEST_SETTING, 7)