Fixed #27698 -- Added django.test.utils.ContextList.get()
This commit is contained in:
parent
12cefee5d8
commit
8516f7c49b
|
@ -74,6 +74,12 @@ class ContextList(list):
|
|||
else:
|
||||
return super(ContextList, self).__getitem__(key)
|
||||
|
||||
def get(self, key, default=None):
|
||||
try:
|
||||
return self.__getitem__(key)
|
||||
except KeyError:
|
||||
return default
|
||||
|
||||
def __contains__(self, key):
|
||||
try:
|
||||
self[key]
|
||||
|
|
|
@ -961,6 +961,15 @@ class ContextTests(TestDataMixin, TestCase):
|
|||
# in every Context without needing to be added.
|
||||
self.assertEqual({'None', 'True', 'False', 'hello', 'goodbye', 'python', 'dolly'}, k.keys())
|
||||
|
||||
def test_contextlist_get(self):
|
||||
c1 = Context({'hello': 'world', 'goodbye': 'john'})
|
||||
c2 = Context({'goodbye': 'world', 'python': 'rocks'})
|
||||
k = ContextList([c1, c2])
|
||||
self.assertEqual(k.get('hello'), 'world')
|
||||
self.assertEqual(k.get('goodbye'), 'john')
|
||||
self.assertEqual(k.get('python'), 'rocks')
|
||||
self.assertEqual(k.get('nonexistent', 'default'), 'default')
|
||||
|
||||
def test_15368(self):
|
||||
# Need to insert a context processor that assumes certain things about
|
||||
# the request instance. This triggers a bug caused by some ways of
|
||||
|
|
Loading…
Reference in New Issue