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
|
del objects, o
|
||||||
self.assert_(len(dict) == 0,
|
self.assert_(len(dict) == 0,
|
||||||
"deleting the values did not clear the dictionary")
|
"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):
|
def test_weak_keys(self):
|
||||||
#
|
#
|
||||||
|
|
|
@ -41,7 +41,7 @@ class WeakValueDictionary(UserDict.UserDict):
|
||||||
# way in).
|
# way in).
|
||||||
|
|
||||||
def __getitem__(self, key):
|
def __getitem__(self, key):
|
||||||
o = self.data.get(key)()
|
o = self.data[key]()
|
||||||
if o is None:
|
if o is None:
|
||||||
raise KeyError, key
|
raise KeyError, key
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue