summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2004-05-30 07:26:47 (GMT)
committerRaymond Hettinger <python@rcn.com>2004-05-30 07:26:47 (GMT)
commit691d80532b0a0204e92de35ecba1472d87af6e94 (patch)
tree25297599e68d9c19c3ea51d145c9a12a60ebc190 /Lib
parentd70ad8a9d9c8212af6d83d2d7d08d21760829b17 (diff)
downloadcpython-691d80532b0a0204e92de35ecba1472d87af6e94.zip
cpython-691d80532b0a0204e92de35ecba1472d87af6e94.tar.gz
cpython-691d80532b0a0204e92de35ecba1472d87af6e94.tar.bz2
Make sets and deques weak referencable.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_deque.py7
-rw-r--r--Lib/test/test_set.py8
2 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_deque.py b/Lib/test/test_deque.py
index bad8857..13800ea 100644
--- a/Lib/test/test_deque.py
+++ b/Lib/test/test_deque.py
@@ -1,6 +1,7 @@
from collections import deque
import unittest
from test import test_support
+from weakref import proxy
import copy
import cPickle as pickle
from cStringIO import StringIO
@@ -435,6 +436,12 @@ class TestSubclass(unittest.TestCase):
self.assertEqual(type(d), type(e))
self.assertEqual(list(d), list(e))
+ def test_weakref(self):
+ d = deque('gallahad')
+ p = proxy(d)
+ self.assertEqual(str(p), str(d))
+ d = None
+ self.assertRaises(ReferenceError, str, p)
#==============================================================================
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index 3a85c76..514b75c 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -1,5 +1,6 @@
import unittest
from test import test_support
+from weakref import proxy
import operator
import copy
import pickle
@@ -346,6 +347,13 @@ class TestSet(TestJointOps):
else:
self.assert_(c not in self.s)
+ def test_weakref(self):
+ s = self.thetype('gallahad')
+ p = proxy(s)
+ self.assertEqual(str(p), str(s))
+ s = None
+ self.assertRaises(ReferenceError, str, p)
+
class SetSubclass(set):
pass