@@ -260,28 +260,39 @@ def underten(x):
260260def assert_matches_seq (it , seq ):
261261 assert list (it ) == list (seq )
262262
263+ def test_islice_pickle (it ):
264+ for p in range (pickle .HIGHEST_PROTOCOL + 1 ):
265+ it == pickle .loads (pickle .dumps (it , p ))
266+
263267i = itertools .islice
264268
265269it = i ([1 , 2 , 3 , 4 , 5 ], 3 )
266270assert_matches_seq (it , [1 , 2 , 3 ])
271+ test_islice_pickle (it )
267272
268273it = i ([0.5 , 1 , 1.5 , 2 , 2.5 , 3 , 4 , 5 ], 1 , 6 , 2 )
269274assert_matches_seq (it , [1 , 2 , 3 ])
275+ test_islice_pickle (it )
270276
271277it = i ([1 , 2 ], None )
272278assert_matches_seq (it , [1 , 2 ])
279+ test_islice_pickle (it )
273280
274281it = i ([1 , 2 , 3 ], None , None , None )
275282assert_matches_seq (it , [1 , 2 , 3 ])
283+ test_islice_pickle (it )
276284
277285it = i ([1 , 2 , 3 ], 1 , None , None )
278286assert_matches_seq (it , [2 , 3 ])
287+ test_islice_pickle (it )
279288
280289it = i ([1 , 2 , 3 ], None , 2 , None )
281290assert_matches_seq (it , [1 , 2 ])
291+ test_islice_pickle (it )
282292
283293it = i ([1 , 2 , 3 ], None , None , 3 )
284294assert_matches_seq (it , [1 ])
295+ test_islice_pickle (it )
285296
286297# itertools.filterfalse
287298it = itertools .filterfalse (lambda x : x % 2 , range (10 ))
0 commit comments