mirror of https://github.com/python/cpython
Make sure that WeakValueDictionary[] raises KeyError instead of TypeError
for keys that are not in the dictionary.
This commit is contained in:
parent
5d54879647
commit
4fd06e0170
|
@ -252,6 +252,11 @@ class MappingTestCase(TestBase):
|
|||
del objects, o
|
||||
self.assert_(len(dict) == 0,
|
||||
"deleting the values did not clear the dictionary")
|
||||
# regression on SF bug #447152:
|
||||
dict = weakref.WeakValueDictionary()
|
||||
self.assertRaises(KeyError, dict.__getitem__, 1)
|
||||
dict[2] = C()
|
||||
self.assertRaises(KeyError, dict.__getitem__, 2)
|
||||
|
||||
def test_weak_keys(self):
|
||||
#
|
||||
|
|
|
@ -41,7 +41,7 @@ class WeakValueDictionary(UserDict.UserDict):
|
|||
# way in).
|
||||
|
||||
def __getitem__(self, key):
|
||||
o = self.data.get(key)()
|
||||
o = self.data[key]()
|
||||
if o is None:
|
||||
raise KeyError, key
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue