@@ -453,6 +453,81 @@ def test_xrange(self):
453453 """
454454 self .convert_check (before , after , ignore_imports = False )
455455
456+ def test_filter (self ):
457+ """
458+ Tests correct handling of itertools.ifilter
459+ """
460+ before = """
461+ import itertools
462+ itertools.ifilter(lambda x: x%2, [1, 2, 3, 4])
463+ """
464+ after = """
465+ from builtins import filter
466+ import itertools
467+ filter(lambda x: x%2, [1, 2, 3, 4])
468+ """
469+ self .convert_check (before , after , ignore_imports = False )
470+ before = """
471+ from itertools import ifilter
472+ ifilter(lambda x: x%2, [1, 2, 3, 4])
473+ """
474+ after = """
475+ from builtins import filter
476+
477+ filter(lambda x: x%2, [1, 2, 3, 4])
478+ """
479+ self .convert_check (before , after , ignore_imports = False )
480+
481+ def test_map (self ):
482+ """
483+ Tests correct handling of itertools.imap
484+ """
485+ before = """
486+ import itertools
487+ itertools.imap(pow, (2,3,10), (5,2,3))
488+ """
489+ after = """
490+ from builtins import map
491+ import itertools
492+ map(pow, (2,3,10), (5,2,3))
493+ """
494+ self .convert_check (before , after , ignore_imports = False )
495+ before = """
496+ from itertools import imap
497+ imap(pow, (2,3,10), (5,2,3))
498+ """
499+ after = """
500+ from builtins import map
501+
502+ map(pow, (2,3,10), (5,2,3))
503+ """
504+ self .convert_check (before , after , ignore_imports = False )
505+
506+ def test_zip (self ):
507+ """
508+ Tests correct handling of itertools.izip
509+ """
510+ before = """
511+ import itertools
512+ itertools.izip('ABCD', 'xy')
513+ """
514+ after = """
515+ from builtins import zip
516+ import itertools
517+ zip('ABCD', 'xy')
518+ """
519+ self .convert_check (before , after , ignore_imports = False )
520+ before = """
521+ from itertools import izip
522+ izip('ABCD', 'xy')
523+ """
524+ after = """
525+ from builtins import zip
526+
527+ zip('ABCD', 'xy')
528+ """
529+ self .convert_check (before , after , ignore_imports = False )
530+
456531 def test_source_coding_utf8 (self ):
457532 """
458533 Tests to ensure that the source coding line is not corrupted or
0 commit comments