Issue #6149: Fix initialization of WeakValueDictionary objects from non-empty parameters.
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 @@
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)))