Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #12659 -- Return a more meaningful KeyError message when Contex…

…tList lookups fail. Thanks to rodriguealcazar for the suggestion.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12274 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit f114fbecc2a486df7fc65f7de1b635520ef1d5ba 1 parent 7ca9d93
@freakboy3742 freakboy3742 authored
View
2  django/test/utils.py
@@ -15,7 +15,7 @@ def __getitem__(self, key):
for subcontext in self:
if key in subcontext:
return subcontext[key]
- raise KeyError
+ raise KeyError(key)
else:
return super(ContextList, self).__getitem__(key)
View
13 tests/regressiontests/test_client_regress/models.py
@@ -602,6 +602,12 @@ def test_single_context(self):
self.assertEqual(response.context['request-foo'], 'whiz')
self.assertEqual(response.context['data'], 'sausage')
+ try:
+ response.context['does-not-exist']
+ self.fail('Should not be able to retrieve non-existent key')
+ except KeyError, e:
+ self.assertEquals(e.message, 'does-not-exist')
+
def test_inherited_context(self):
"Context variables can be retrieved from a list of contexts"
response = self.client.get("/test_client_regress/request_data_extended/", data={'foo':'whiz'})
@@ -611,6 +617,13 @@ def test_inherited_context(self):
self.assertEqual(response.context['request-foo'], 'whiz')
self.assertEqual(response.context['data'], 'bacon')
+ try:
+ response.context['does-not-exist']
+ self.fail('Should not be able to retrieve non-existent key')
+ except KeyError, e:
+ self.assertEquals(e.message, 'does-not-exist')
+
+
class SessionTests(TestCase):
fixtures = ['testdata.json']

0 comments on commit f114fbe

Please sign in to comment.
Something went wrong with that request. Please try again.