summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_weakref.py
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2001-02-27 18:36:56 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2001-02-27 18:36:56 (GMT)
commit5e1633365d8a48e96dd4f42c4e7c8729bc62c26d (patch)
treed743b73ad41520e52d485187e35b1dae577a34f8 /Lib/test/test_weakref.py
parentbb40dc48928269d3f60e60e0642b56ecfca2913c (diff)
downloadcpython-5e1633365d8a48e96dd4f42c4e7c8729bc62c26d.zip
cpython-5e1633365d8a48e96dd4f42c4e7c8729bc62c26d.tar.gz
cpython-5e1633365d8a48e96dd4f42c4e7c8729bc62c26d.tar.bz2
Patch #403985: Add support for weak-keyed dictionaries
Diffstat (limited to 'Lib/test/test_weakref.py')
-rw-r--r--Lib/test/test_weakref.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py
index fe19373..befa70d 100644
--- a/Lib/test/test_weakref.py
+++ b/Lib/test/test_weakref.py
@@ -153,6 +153,24 @@ dict.clear()
print "weak dict test complete"
print
+print "Weak Keyed Dictionaries"
+
+dict = weakref.mapping(weakkeys=1)
+objects = map(Object, range(10))
+for o in objects:
+ dict[o] = o.arg
+print "objects are stored in weak dict"
+for o in objects:
+ verify(weakref.getweakrefcount(o) == 1,
+ "wrong number of weak references to %r!" % o)
+ verify(o.arg is dict[o],
+ "wrong object returned by weak dict!")
+del objects,o
+verify(len(dict)==0, "deleting the keys did not clear the dictionary")
+print "weak key dict test complete"
+
+
+print
print "Non-callable Proxy References"
print "XXX -- tests not written!"