[1.2.X] Fixed #13092 -- Added support for the "in" operator when dealing with context lists. Thanks to clelland for the patch.
Backport of [13510] from trunk. Backported in order to support some other tests which need to be backported. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@13986 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
cb00181854
commit
c7ce5b8929
@ -36,6 +36,12 @@ class ContextList(list):
|
|||||||
else:
|
else:
|
||||||
return super(ContextList, self).__getitem__(key)
|
return super(ContextList, self).__getitem__(key)
|
||||||
|
|
||||||
|
def __contains__(self, key):
|
||||||
|
try:
|
||||||
|
value = self[key]
|
||||||
|
except KeyError:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
def instrumented_test_render(self, context):
|
def instrumented_test_render(self, context):
|
||||||
"""
|
"""
|
||||||
|
@ -620,6 +620,7 @@ class ContextTests(TestCase):
|
|||||||
"Context variables can be retrieved from a single context"
|
"Context variables can be retrieved from a single context"
|
||||||
response = self.client.get("/test_client_regress/request_data/", data={'foo':'whiz'})
|
response = self.client.get("/test_client_regress/request_data/", data={'foo':'whiz'})
|
||||||
self.assertEqual(response.context.__class__, Context)
|
self.assertEqual(response.context.__class__, Context)
|
||||||
|
self.assertTrue('get-foo' in response.context)
|
||||||
self.assertEqual(response.context['get-foo'], 'whiz')
|
self.assertEqual(response.context['get-foo'], 'whiz')
|
||||||
self.assertEqual(response.context['request-foo'], 'whiz')
|
self.assertEqual(response.context['request-foo'], 'whiz')
|
||||||
self.assertEqual(response.context['data'], 'sausage')
|
self.assertEqual(response.context['data'], 'sausage')
|
||||||
@ -635,6 +636,7 @@ class ContextTests(TestCase):
|
|||||||
response = self.client.get("/test_client_regress/request_data_extended/", data={'foo':'whiz'})
|
response = self.client.get("/test_client_regress/request_data_extended/", data={'foo':'whiz'})
|
||||||
self.assertEqual(response.context.__class__, ContextList)
|
self.assertEqual(response.context.__class__, ContextList)
|
||||||
self.assertEqual(len(response.context), 2)
|
self.assertEqual(len(response.context), 2)
|
||||||
|
self.assertTrue('get-foo' in response.context)
|
||||||
self.assertEqual(response.context['get-foo'], 'whiz')
|
self.assertEqual(response.context['get-foo'], 'whiz')
|
||||||
self.assertEqual(response.context['request-foo'], 'whiz')
|
self.assertEqual(response.context['request-foo'], 'whiz')
|
||||||
self.assertEqual(response.context['data'], 'bacon')
|
self.assertEqual(response.context['data'], 'bacon')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user