diff --git a/configurations/tests/settings/multiple_inheritance2.py b/configurations/tests/settings/multiple_inheritance2.py new file mode 100644 index 0000000..1f26235 --- /dev/null +++ b/configurations/tests/settings/multiple_inheritance2.py @@ -0,0 +1,27 @@ + +from configurations import Settings + +class BaseSettings(Settings): + def TEMPLATE_CONTEXT_PROCESSORS(self): + return super(BaseSettings, self).TEMPLATE_CONTEXT_PROCESSORS + +class Klass1(BaseSettings): + def TEMPLATE_CONTEXT_PROCESSORS(self): + return super(Klass1, self).TEMPLATE_CONTEXT_PROCESSORS() + ( + 'configurations.tests.settings.base.test_callback1',) + +class Klass2(BaseSettings): + def TEMPLATE_CONTEXT_PROCESSORS(self): + return super(Klass2, self).TEMPLATE_CONTEXT_PROCESSORS() + ( + 'configurations.tests.settings.base.test_callback2',) + +class Klass3(BaseSettings): + def TEMPLATE_CONTEXT_PROCESSORS(self): + return super(Klass3, self).TEMPLATE_CONTEXT_PROCESSORS() + ( + 'configurations.tests.settings.base.test_callback3',) + +class MInheritance(Klass1, Klass2, Klass3): + + def TEMPLATE_CONTEXT_PROCESSORS(self): + return super(MInheritance, self).TEMPLATE_CONTEXT_PROCESSORS() + ( + 'configurations.tests.settings.base.test_callback_m',) diff --git a/configurations/tests/test_inheritance.py b/configurations/tests/test_inheritance.py index 8b202d4..341874d 100644 --- a/configurations/tests/test_inheritance.py +++ b/configurations/tests/test_inheritance.py @@ -28,3 +28,16 @@ class InheritanceTests(TestCase): 'configurations.tests.settings.base.test_callback', 'configurations.tests.settings.base.test_callback', )) + + @patch.dict(os.environ, clear=True, + DJANGO_CONFIGURATION='MInheritance', + DJANGO_SETTINGS_MODULE='configurations.tests.settings.multiple_inheritance2') + def test_inherited3(self): + from configurations.tests.settings import multiple_inheritance2 + self.assertEquals(multiple_inheritance2.TEMPLATE_CONTEXT_PROCESSORS, + global_settings.TEMPLATE_CONTEXT_PROCESSORS + ( + 'configurations.tests.settings.base.test_callback3', + 'configurations.tests.settings.base.test_callback2', + 'configurations.tests.settings.base.test_callback1', + 'configurations.tests.settings.base.test_callback_m', + ))