SF patch 564549 (Erik Andersén).

The WeakKeyDictionary constructor didn't work when a dict arg was
given.  Fixed by moving a line.  Also adding a unit test.

Bugfix candidate.
This commit is contained in:
Guido van Rossum 2002-06-10 20:00:52 +00:00
parent 804cdca7ea
commit 009afb7c90
3 changed files with 13 additions and 1 deletions

View file

@ -391,6 +391,17 @@ class MappingTestCase(TestBase):
values.remove(v)
self.assert_(len(values) == 0, "itervalues() did not touch all values")
def test_make_weak_keyed_dict_from_dict(self):
o = Object(3)
dict = weakref.WeakKeyDictionary({o:364})
self.assert_(dict[o] == 364)
def test_make_weak_keyed_dict_from_weak_keyed_dict(self):
o = Object(3)
dict = weakref.WeakKeyDictionary({o:364})
dict2 = weakref.WeakKeyDictionary(dict)
self.assert_(dict[o] == 364)
def make_weak_keyed_dict(self):
dict = weakref.WeakKeyDictionary()
objects = map(Object, range(self.COUNT))