Add some additional tests that check more proxy behaviors.
diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py
index 7f4870e..2ca6a7a 100644
--- a/Lib/test/test_weakref.py
+++ b/Lib/test/test_weakref.py
@@ -1,5 +1,6 @@
 import sys
 import unittest
+import UserList
 import weakref
 
 import test_support
@@ -149,6 +150,23 @@
         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)