Author: russellm
Date: 2010-10-18 18:58:06 -0500 (Mon, 18 Oct 2010)
New Revision: 14269

Modified:
   django/trunk/tests/regressiontests/special_headers/tests.py
   django/trunk/tests/regressiontests/special_headers/urls.py
   django/trunk/tests/regressiontests/special_headers/views.py
Log:
Fixed #13842 -- Added tests to verify that XViewMiddleware works with 
class-based views.

Modified: django/trunk/tests/regressiontests/special_headers/tests.py
===================================================================
--- django/trunk/tests/regressiontests/special_headers/tests.py 2010-10-18 
23:26:16 UTC (rev 14268)
+++ django/trunk/tests/regressiontests/special_headers/tests.py 2010-10-18 
23:58:06 UTC (rev 14269)
@@ -8,33 +8,52 @@
         user = User.objects.get(username='super')
         response = self.client.get('/special_headers/article/1/')
         # import pdb; pdb.set_trace()
-        self.failUnless('X-Object-Type' not in response)
+        self.assertFalse('X-Object-Type' in response)
         self.client.login(username='super', password='secret')
         response = self.client.get('/special_headers/article/1/')
-        self.failUnless('X-Object-Type' in response)
+        self.assertTrue('X-Object-Type' in response)
         user.is_staff = False
         user.save()
         response = self.client.get('/special_headers/article/1/')
-        self.failUnless('X-Object-Type' not in response)
+        self.assertFalse('X-Object-Type' in response)
         user.is_staff = True
         user.is_active = False
         user.save()
         response = self.client.get('/special_headers/article/1/')
-        self.failUnless('X-Object-Type' not in response)
+        self.assertFalse('X-Object-Type' in response)
 
-    def test_xview(self):
+    def test_xview_func(self):
         user = User.objects.get(username='super')
-        response = self.client.head('/special_headers/xview/')
-        self.failUnless('X-View' not in response)
+        response = self.client.head('/special_headers/xview/func/')
+        self.assertFalse('X-View' in response)
         self.client.login(username='super', password='secret')
-        response = self.client.head('/special_headers/xview/')
-        self.failUnless('X-View' in response)
+        response = self.client.head('/special_headers/xview/func/')
+        self.assertTrue('X-View' in response)
+        self.assertEqual(response['X-View'], 
'regressiontests.special_headers.views.xview')
         user.is_staff = False
         user.save()
-        response = self.client.head('/special_headers/xview/')
-        self.failUnless('X-View' not in response)
+        response = self.client.head('/special_headers/xview/func/')
+        self.assertFalse('X-View' in response)
         user.is_staff = True
         user.is_active = False
         user.save()
-        response = self.client.head('/special_headers/xview/')
-        self.failUnless('X-View' not in response)
+        response = self.client.head('/special_headers/xview/func/')
+        self.assertFalse('X-View' in response)
+
+    def test_xview_class(self):
+        user = User.objects.get(username='super')
+        response = self.client.head('/special_headers/xview/class/')
+        self.assertFalse('X-View' in response)
+        self.client.login(username='super', password='secret')
+        response = self.client.head('/special_headers/xview/class/')
+        self.assertTrue('X-View' in response)
+        self.assertEqual(response['X-View'], 
'regressiontests.special_headers.views.XViewClass')
+        user.is_staff = False
+        user.save()
+        response = self.client.head('/special_headers/xview/class/')
+        self.assertFalse('X-View' in response)
+        user.is_staff = True
+        user.is_active = False
+        user.save()
+        response = self.client.head('/special_headers/xview/class/')
+        self.assertFalse('X-View' in response)

Modified: django/trunk/tests/regressiontests/special_headers/urls.py
===================================================================
--- django/trunk/tests/regressiontests/special_headers/urls.py  2010-10-18 
23:26:16 UTC (rev 14268)
+++ django/trunk/tests/regressiontests/special_headers/urls.py  2010-10-18 
23:58:06 UTC (rev 14269)
@@ -6,5 +6,6 @@
 
 urlpatterns = patterns('',
     (r'^article/(?P<object_id>\d+)/$', object_detail, {'queryset': 
Article.objects.all()}),
-    (r'^xview/$', views.xview),
+    (r'^xview/func/$', views.xview_dec(views.xview)),
+    (r'^xview/class/$', views.xview_dec(views.XViewClass.as_view())),
 )

Modified: django/trunk/tests/regressiontests/special_headers/views.py
===================================================================
--- django/trunk/tests/regressiontests/special_headers/views.py 2010-10-18 
23:26:16 UTC (rev 14268)
+++ django/trunk/tests/regressiontests/special_headers/views.py 2010-10-18 
23:58:06 UTC (rev 14269)
@@ -1,10 +1,14 @@
 # -*- coding:utf-8 -*-
 from django.http import HttpResponse
 from django.utils.decorators import decorator_from_middleware
+from django.views.generic import View
 from django.middleware.doc import XViewMiddleware
 
 xview_dec = decorator_from_middleware(XViewMiddleware)
 
 def xview(request):
     return HttpResponse()
-xview = xview_dec(xview)
+
+class XViewClass(View):
+    def get(request):
+        return HttpResponse()

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to