From b57de42b3d0269b384eb5b1edb55fc7f6a3c3bb4 Mon Sep 17 00:00:00 2001 From: Robert Weidlich Date: Thu, 15 Nov 2012 14:47:18 +0100 Subject: [PATCH] Added new test case for multiple inheritance --- .../tests/settings/multiple_inheritance2.py | 27 +++++++++++++++++++ configurations/tests/test_inheritance.py | 13 +++++++++ 2 files changed, 40 insertions(+) create mode 100644 configurations/tests/settings/multiple_inheritance2.py 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', + ))