]> granicus.if.org Git - python/commitdiff
Add some additional tests that check more proxy behaviors.
authorFred Drake <fdrake@acm.org>
Wed, 19 Dec 2001 16:54:23 +0000 (16:54 +0000)
committerFred Drake <fdrake@acm.org>
Wed, 19 Dec 2001 16:54:23 +0000 (16:54 +0000)
Lib/test/test_weakref.py

index 7f4870e187649ccb502cc257861e5049029a50d4..2ca6a7adb7926aca5b5c9bc63beb466dc135fdbd 100644 (file)
@@ -1,5 +1,6 @@
 import sys
 import unittest
+import UserList
 import weakref
 
 import test_support
@@ -149,6 +150,23 @@ class ReferencesTestCase(TestBase):
         o = C()
         self.check_proxy(o, weakref.proxy(o))
 
+        L = UserList.UserList()
+        p = weakref.proxy(L)
+        self.failIf(p, "proxy for empty UserList should be false")
+        p.append(12)
+        self.assertEqual(len(L), 1)
+        self.failUnless(p, "proxy for non-empty UserList should be true")
+        p[:] = [2, 3]
+        self.assertEqual(len(L), 2)
+        self.assertEqual(len(p), 2)
+        self.failUnless(3 in p, "proxy didn't support __contains__() properly")
+        p[1] = 5
+        self.assertEqual(L[1], 5)
+        self.assertEqual(p[1], 5)
+        L2 = UserList.UserList(L)
+        p2 = weakref.proxy(L2)
+        self.assertEqual(p, p2)
+
     def test_callable_proxy(self):
         o = Callable()
         ref1 = weakref.proxy(o)