diff options
author | Guido van Rossum <guido@python.org> | 2003-01-28 22:02:31 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2003-01-28 22:02:31 (GMT) |
commit | c8d6ef5cd621c39434c22123ab4f63e8084c8446 (patch) | |
tree | 925d6e833f9308c3efa3f5f6b94ef57e16104758 /Lib | |
parent | ac5b5d2e8b849c499d323b0263ace22e56b4f0d9 (diff) | |
download | cpython-c8d6ef5cd621c39434c22123ab4f63e8084c8446.zip cpython-c8d6ef5cd621c39434c22123ab4f63e8084c8446.tar.gz cpython-c8d6ef5cd621c39434c22123ab4f63e8084c8446.tar.bz2 |
Add a test for a list subclass with a __dict__ as well as slots.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/pickletester.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py index cc464a9..36b3702 100644 --- a/Lib/test/pickletester.py +++ b/Lib/test/pickletester.py @@ -324,12 +324,29 @@ class AbstractPickleTests(unittest.TestCase): ## 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): pass class MyList(list): pass +class SlotList(MyList): + __slots__ = ["foo"] + class AbstractPickleModuleTests(unittest.TestCase): def test_dump_closed_file(self): |