summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2010-03-12 13:06:13 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2010-03-12 13:06:13 +0000
commit615eab6b0255608e2094f0ecf02c5351a1e887cc (patch)
tree9e8a0cd86d10b58cadbcaf783bedaff917e7fd2b /tests
parent5c256ddeecc2963121bce93db235c57a8380030c (diff)
Fixed #13093 -- Updated some decorators and the decorator_from_middleware function to allow callable classes to be decorated. Thanks to Brian Neal for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12762 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/utils/decorators.py6
-rw-r--r--tests/regressiontests/utils/urls.py1
-rw-r--r--tests/regressiontests/utils/views.py7
3 files changed, 14 insertions, 0 deletions
diff --git a/tests/regressiontests/utils/decorators.py b/tests/regressiontests/utils/decorators.py
index c6ae243c98..ca9214f787 100644
--- a/tests/regressiontests/utils/decorators.py
+++ b/tests/regressiontests/utils/decorators.py
@@ -11,3 +11,9 @@ class DecoratorFromMiddlewareTests(TestCase):
Test a middleware that implements process_view.
"""
self.client.get('/utils/xview/')
+
+ def test_callable_process_view_middleware(self):
+ """
+ Test a middleware that implements process_view, operating on a callable class.
+ """
+ self.client.get('/utils/class_xview/')
diff --git a/tests/regressiontests/utils/urls.py b/tests/regressiontests/utils/urls.py
index 7b60d0884c..ba09d14b3d 100644
--- a/tests/regressiontests/utils/urls.py
+++ b/tests/regressiontests/utils/urls.py
@@ -4,4 +4,5 @@ import views
urlpatterns = patterns('',
(r'^xview/$', views.xview),
+ (r'^class_xview/$', views.class_xview),
)
diff --git a/tests/regressiontests/utils/views.py b/tests/regressiontests/utils/views.py
index d22ae26641..ef97c6502d 100644
--- a/tests/regressiontests/utils/views.py
+++ b/tests/regressiontests/utils/views.py
@@ -8,3 +8,10 @@ xview_dec = decorator_from_middleware(XViewMiddleware)
def xview(request):
return HttpResponse()
xview = xview_dec(xview)
+
+
+class ClassXView(object):
+ def __call__(self, request):
+ return HttpResponse()
+
+class_xview = xview_dec(ClassXView())