More protocol 2: TUPLE1, TUPLE2, TUPLE3.
Also moved the special case for empty tuples from save() to save_tuple().
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
index 85887ea..e37a7b0 100644
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -281,6 +281,18 @@
y = self.loads(s)
self.assertEqual(x, y)
+ def test_short_tuples(self):
+ a = ()
+ b = (12,)
+ c = (6, 6)
+ d = (4, 4, 4)
+ e = (3, 3, 3, 3)
+ for proto in 0, 1, 2:
+ for x in a, b, c, d, e:
+ s = self.dumps(x, proto)
+ y = self.loads(s)
+ self.assertEqual(x, y, (proto, x, s, y))
+
class AbstractPickleModuleTests(unittest.TestCase):
def test_dump_closed_file(self):