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.