Issue #22777: Test pickling with all protocols.

This commit is contained in:
Serhiy Storchaka 2014-12-15 14:06:02 +02:00
commit 65ee4674e2
31 changed files with 704 additions and 623 deletions

View file

@ -285,17 +285,18 @@ class BaseTest:
def test_iterator_pickle(self):
data = array.array(self.typecode, self.example)
orgit = iter(data)
d = pickle.dumps(orgit)
it = pickle.loads(d)
self.assertEqual(type(orgit), type(it))
self.assertEqual(list(it), list(data))
if len(data):
for proto in range(pickle.HIGHEST_PROTOCOL + 1):
orgit = iter(data)
d = pickle.dumps(orgit, proto)
it = pickle.loads(d)
next(it)
d = pickle.dumps(it)
self.assertEqual(list(it), list(data)[1:])
self.assertEqual(type(orgit), type(it))
self.assertEqual(list(it), list(data))
if len(data):
it = pickle.loads(d)
next(it)
d = pickle.dumps(it, proto)
self.assertEqual(list(it), list(data)[1:])
def test_insert(self):
a = array.array(self.typecode, self.example)