Add some additional tests that check more proxy behaviors.

This commit is contained in:
Fred Drake 2001-12-19 16:54:23 +00:00
parent 2a908f6b7b
commit 5935ff07be

View 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)