]> granicus.if.org Git - python/commitdiff
Add a test for a list subclass with a __dict__ as well as slots.
authorGuido van Rossum <guido@python.org>
Tue, 28 Jan 2003 22:02:31 +0000 (22:02 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 28 Jan 2003 22:02:31 +0000 (22:02 +0000)
Lib/test/pickletester.py

index cc464a9ff7d50b9e87d2ee3cd16972f2a8a953f8..36b3702d123bfabb3cbe2e5161ae403ba4c39443 100644 (file)
@@ -322,6 +322,20 @@ class AbstractPickleTests(unittest.TestCase):
         self.assertEqual(x.__dict__, y.__dict__)
 ##         import pickletools
 ##         print
+##         pickletools.dis(s)
+
+    def test_newobj_list_slots(self):
+        x = SlotList([1, 2, 3])
+        x.foo = 42
+        x.bar = "hello"
+        s = self.dumps(x, 2)
+        y = self.loads(s)
+        self.assertEqual(list(x), list(y))
+        self.assertEqual(x.__dict__, y.__dict__)
+        self.assertEqual(x.foo, y.foo)
+        self.assertEqual(x.bar, y.bar)
+##         import pickletools
+##         print
 ##         pickletools.dis(s)
 
 class MyTuple(tuple):
@@ -330,6 +344,9 @@ class MyTuple(tuple):
 class MyList(list):
     pass
 
+class SlotList(MyList):
+    __slots__ = ["foo"]
+
 class AbstractPickleModuleTests(unittest.TestCase):
 
     def test_dump_closed_file(self):