Commit e5691449 authored by Hiroki KIYOHARA's avatar Hiroki KIYOHARA
Browse files

Added test for the #23070 problem

parent e1c85167
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -660,6 +660,21 @@ class ExceptionReporterFilterTests(TestCase, ExceptionReportTestMixin):
            response = self.client.get('/raises500/')
            self.assertNotContains(response, "This should not be displayed", status_code=500)

    def test_callable_settings_forbidding_to_set_attributes(self):
        """
        Callable settings which forbid to set attributes should not break
        the debug page (#23070).
        """
        class CallableSettingWithSlots(object):
            __slots__ = []

            def __call__(self):
                return "This should not be displayed"

        with self.settings(DEBUG=True, WITH_SLOTS=CallableSettingWithSlots()):
            response = self.client.get('/raises500/')
            self.assertNotContains(response, "This should not be displayed", status_code=500)

    def test_dict_setting_with_non_str_key(self):
        """
        A dict setting containing a non-string key should not break the