From c7ce5b8929b6dea9e1d0776fdb2bc37686ef9b6b Mon Sep 17 00:00:00 2001 From: Luke Plant Date: Tue, 5 Oct 2010 20:27:11 +0000 Subject: [PATCH] [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 --- django/test/utils.py | 6 ++++++ tests/regressiontests/test_client_regress/models.py | 2 ++ 2 files changed, 8 insertions(+) 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')