mirror of
https://github.com/django/django.git
synced 2025-11-07 07:15:35 +00:00
[1.7.x] Fixed code to solve #23070 problem
Added a class to wrap callable in settings:
* Not to call in the debug page (#21345).
* Not to break the debug page if the callable forbidding to set attributes (#23070).
Thanks @bmispelon for giving me some advice.
Backport of d0889863de from master.
This commit is contained in:
committed by
James Bennett
parent
0d8d4fe9b4
commit
df678b7500
@@ -21,7 +21,7 @@ from django.test.utils import (
|
||||
setup_test_template_loader, restore_template_loaders)
|
||||
from django.utils.encoding import force_text, force_bytes
|
||||
from django.utils import six
|
||||
from django.views.debug import ExceptionReporter
|
||||
from django.views.debug import CallableSettingWrapper, ExceptionReporter
|
||||
|
||||
from .. import BrokenException, except_args
|
||||
from ..views import (sensitive_view, non_sensitive_view, paranoid_view,
|
||||
@@ -30,6 +30,21 @@ from ..views import (sensitive_view, non_sensitive_view, paranoid_view,
|
||||
multivalue_dict_key_error)
|
||||
|
||||
|
||||
class CallableSettingWrapperTests(TestCase):
|
||||
""" Unittests for CallableSettingWrapper
|
||||
"""
|
||||
def test_repr(self):
|
||||
class WrappedCallable(object):
|
||||
def __repr__(self):
|
||||
return "repr from the wrapped callable"
|
||||
|
||||
def __call__(self):
|
||||
pass
|
||||
|
||||
actual = repr(CallableSettingWrapper(WrappedCallable()))
|
||||
self.assertEqual(actual, "repr from the wrapped callable")
|
||||
|
||||
|
||||
@override_settings(DEBUG=True, TEMPLATE_DEBUG=True)
|
||||
class DebugViewTests(TestCase):
|
||||
urls = "view_tests.urls"
|
||||
|
||||
Reference in New Issue
Block a user