[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:
Luke Plant 2010-10-05 20:27:11 +00:00
parent cb00181854
commit c7ce5b8929
2 changed files with 8 additions and 0 deletions

View File

@ -36,6 +36,12 @@ class ContextList(list):
else:
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):
"""

View File

@ -620,6 +620,7 @@ class ContextTests(TestCase):
"Context variables can be retrieved from a single context"
response = self.client.get("/test_client_regress/request_data/", data={'foo':'whiz'})
self.assertEqual(response.context.__class__, Context)
self.assertTrue('get-foo' in response.context)
self.assertEqual(response.context['get-foo'], 'whiz')
self.assertEqual(response.context['request-foo'], 'whiz')
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'})
self.assertEqual(response.context.__class__, ContextList)
self.assertEqual(len(response.context), 2)
self.assertTrue('get-foo' in response.context)
self.assertEqual(response.context['get-foo'], 'whiz')
self.assertEqual(response.context['request-foo'], 'whiz')
self.assertEqual(response.context['data'], 'bacon')