diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2009-05-30 21:04:26 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2009-05-30 21:04:26 (GMT) |
commit | c06de477a35669cac037b0bc92a28f9492d76015 (patch) | |
tree | 904ed4860201b9f345b8f2697c720fc4f5223064 | |
parent | 3b1b8072f5f6b30616ac495c288537dcaac92cab (diff) | |
download | cpython-c06de477a35669cac037b0bc92a28f9492d76015.zip cpython-c06de477a35669cac037b0bc92a28f9492d76015.tar.gz cpython-c06de477a35669cac037b0bc92a28f9492d76015.tar.bz2 |
Issue #6149: Fix initialization of WeakValueDictionary objects from non-empty parameters.
-rw-r--r-- | Lib/test/test_weakref.py | 11 | ||||
-rw-r--r-- | Lib/weakref.py | 2 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 15 insertions, 1 deletions
diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py index 9821e1b..049dba2 100644 --- a/Lib/test/test_weakref.py +++ b/Lib/test/test_weakref.py @@ -942,6 +942,17 @@ class MappingTestCase(TestBase): dict[o] = o.arg return dict, objects + def test_make_weak_valued_dict_from_dict(self): + o = Object(3) + dict = weakref.WeakValueDictionary({364:o}) + self.assertEqual(dict[364], o) + + def test_make_weak_valued_dict_from_weak_valued_dict(self): + o = Object(3) + dict = weakref.WeakValueDictionary({364:o}) + dict2 = weakref.WeakValueDictionary(dict) + self.assertEqual(dict[364], o) + def make_weak_valued_dict(self): dict = weakref.WeakValueDictionary() objects = list(map(Object, range(self.COUNT))) diff --git a/Lib/weakref.py b/Lib/weakref.py index 0276dfd..5e6cc8b 100644 --- a/Lib/weakref.py +++ b/Lib/weakref.py @@ -49,7 +49,7 @@ class WeakValueDictionary(collections.MutableMapping): del self.data[wr.key] self._remove = remove self.data = d = {} - d.update(*args, **kw) + self.update(*args, **kw) def __getitem__(self, key): o = self.data[key]() @@ -15,6 +15,9 @@ Core and Builtins Library ------- +- Issue #6149: Fix initialization of WeakValueDictionary objects from non-empty + parameters. + What's New in Python 3.1 release candidate 1? ============================================= |