@@ -453,6 +453,81 @@ def test_xrange(self):
453
453
"""
454
454
self .convert_check (before , after , ignore_imports = False )
455
455
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
+
456
531
def test_source_coding_utf8 (self ):
457
532
"""
458
533
Tests to ensure that the source coding line is not corrupted or
0 commit comments