From 752eda459ae8f61b08c898c5a857b2151856881b Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Tue, 6 Nov 2001 16:38:34 +0000 Subject: Add a regression test for SF bug #478536: If a value cannot be weakly referenced, WeakKeyDictionary.has_key() should return 0 instead of raising TypeError. --- Lib/test/test_weakref.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py index 87c1670..1623039 100644 --- a/Lib/test/test_weakref.py +++ b/Lib/test/test_weakref.py @@ -272,7 +272,7 @@ class MappingTestCase(TestBase): def test_weak_keys(self): # # This exercises d.copy(), d.items(), d[] = v, d[], del d[], - # len(d). + # len(d), d.has_key(). # dict, objects = self.make_weak_keyed_dict() for o in objects: @@ -294,6 +294,10 @@ class MappingTestCase(TestBase): del objects, o self.assert_(len(dict) == 0, "deleting the keys did not clear the dictionary") + o = Object(42) + dict[o] = "What is the meaning of the universe?" + self.assert_(dict.has_key(o)) + self.assert_(not dict.has_key(34)) def test_weak_keyed_iters(self): dict, objects = self.make_weak_keyed_dict() -- cgit v0.12