summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Plant <L.Plant.98@cantab.net>2010-10-05 20:27:11 +0000
committerLuke Plant <L.Plant.98@cantab.net>2010-10-05 20:27:11 +0000
commitc7ce5b8929b6dea9e1d0776fdb2bc37686ef9b6b (patch)
treee380b41ad07291709a088eb054feda6ce3612961
parentcb0018185465c8aa22092fd887cfd4b25e6544ab (diff)
[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
-rw-r--r--django/test/utils.py6
-rw-r--r--tests/regressiontests/test_client_regress/models.py2
2 files changed, 8 insertions, 0 deletions
diff --git a/django/test/utils.py b/django/test/utils.py
index f38c60fd50..8ecb5a0e60 100644
--- a/django/test/utils.py
+++ b/django/test/utils.py
@@ -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):
"""
diff --git a/tests/regressiontests/test_client_regress/models.py b/tests/regressiontests/test_client_regress/models.py
index 5f23c8ee13..b2a7f45cc3 100644
--- a/tests/regressiontests/test_client_regress/models.py
+++ b/tests/regressiontests/test_client_regress/models.py
@@ -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')