diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2008-03-19 05:26:18 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2008-03-19 05:26:18 (GMT) |
commit | f733c60d9aea123a46cd41dbe4dedee7aa2f20f3 (patch) | |
tree | 9088f72f6f0177c41bfd68c186ccfe6d2adeed22 /Lib/lib2to3/tests | |
parent | ef04c44e29a8276a484f58d03a75a2dec516302d (diff) | |
download | cpython-f733c60d9aea123a46cd41dbe4dedee7aa2f20f3.zip cpython-f733c60d9aea123a46cd41dbe4dedee7aa2f20f3.tar.gz cpython-f733c60d9aea123a46cd41dbe4dedee7aa2f20f3.tar.bz2 |
Merged revisions 61602 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
................
r61602 | martin.v.loewis | 2008-03-19 00:22:42 -0500 (Mi, 19 Mär 2008) | 17 lines
Merged revisions 61598-61599,61601 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3
........
r61598 | david.wolever | 2008-03-18 23:58:33 -0500 (Di, 18 Mär 2008) | 1 line
Added fixer for zip, and refactored a bit of code in the process. Closing #2171.
........
r61599 | david.wolever | 2008-03-19 00:04:26 -0500 (Mi, 19 Mär 2008) | 3 lines
Removed a bunch of duplicate code -- it's in util now.
........
r61601 | martin.v.loewis | 2008-03-19 00:21:12 -0500 (Mi, 19 Mär 2008) | 2 lines
Fix whitespace.
........
................
Diffstat (limited to 'Lib/lib2to3/tests')
-rw-r--r-- | Lib/lib2to3/tests/benchmark.py | 4 | ||||
-rwxr-xr-x | Lib/lib2to3/tests/test_fixers.py | 63 | ||||
-rw-r--r-- | Lib/lib2to3/tests/test_parser.py | 2 | ||||
-rwxr-xr-x | Lib/lib2to3/tests/test_pytree.py | 4 |
4 files changed, 68 insertions, 5 deletions
diff --git a/Lib/lib2to3/tests/benchmark.py b/Lib/lib2to3/tests/benchmark.py index 7ccdd17..3723f69 100644 --- a/Lib/lib2to3/tests/benchmark.py +++ b/Lib/lib2to3/tests/benchmark.py @@ -27,10 +27,10 @@ class Options: setattr(self, k, v) self.verbose = False - + def dummy_transform(*args, **kwargs): pass - + ### Collect list of modules to match against ############################################################################### files = [] diff --git a/Lib/lib2to3/tests/test_fixers.py b/Lib/lib2to3/tests/test_fixers.py index 96c3f59..0fb0984 100755 --- a/Lib/lib2to3/tests/test_fixers.py +++ b/Lib/lib2to3/tests/test_fixers.py @@ -2493,6 +2493,69 @@ class Test_map(FixerTestCase): a = "from future_builtins import *; map(f, 'ham')" self.unchanged(a) +class Test_zip(FixerTestCase): + fixer = "zip" + + def check(self, b, a): + self.unchanged("from future_builtins import zip; " + b, a) + FixerTestCase.check(self, b, a) + + def test_zip_basic(self): + b = """x = zip(a, b, c)""" + a = """x = list(zip(a, b, c))""" + self.check(b, a) + + b = """x = len(zip(a, b))""" + a = """x = len(list(zip(a, b)))""" + self.check(b, a) + + def test_zip_nochange(self): + a = """b.join(zip(a, b))""" + self.unchanged(a) + a = """(a + foo(5)).join(zip(a, b))""" + self.unchanged(a) + a = """iter(zip(a, b))""" + self.unchanged(a) + a = """list(zip(a, b))""" + self.unchanged(a) + a = """list(zip(a, b))[0]""" + self.unchanged(a) + a = """set(zip(a, b))""" + self.unchanged(a) + a = """set(zip(a, b)).pop()""" + self.unchanged(a) + a = """tuple(zip(a, b))""" + self.unchanged(a) + a = """any(zip(a, b))""" + self.unchanged(a) + a = """all(zip(a, b))""" + self.unchanged(a) + a = """sum(zip(a, b))""" + self.unchanged(a) + a = """sorted(zip(a, b))""" + self.unchanged(a) + a = """sorted(zip(a, b), key=blah)""" + self.unchanged(a) + a = """sorted(zip(a, b), key=blah)[0]""" + self.unchanged(a) + a = """for i in zip(a, b): pass""" + self.unchanged(a) + a = """[x for x in zip(a, b)]""" + self.unchanged(a) + a = """(x for x in zip(a, b))""" + self.unchanged(a) + + def test_future_builtins(self): + a = "from future_builtins import spam, zip, eggs; zip(a, b)" + self.unchanged(a) + + b = """from future_builtins import spam, eggs; x = zip(a, b)""" + a = """from future_builtins import spam, eggs; x = list(zip(a, b))""" + self.check(b, a) + + a = "from future_builtins import *; zip(a, b)" + self.unchanged(a) + class Test_standarderror(FixerTestCase): fixer = "standarderror" diff --git a/Lib/lib2to3/tests/test_parser.py b/Lib/lib2to3/tests/test_parser.py index 33ddc92..56b8cfe 100644 --- a/Lib/lib2to3/tests/test_parser.py +++ b/Lib/lib2to3/tests/test_parser.py @@ -109,7 +109,7 @@ class TestExcept(GrammarTest): self.validate(s) -# Adapted from Python 3's Lib/test/test_grammar.py:GrammarTests.testAtoms +# Adapted from Python 3's Lib/test/test_grammar.py:GrammarTests.testAtoms class TestSetLiteral(GrammarTest): def test_1(self): self.validate("""x = {'one'}""") diff --git a/Lib/lib2to3/tests/test_pytree.py b/Lib/lib2to3/tests/test_pytree.py index 7a94423..8876beb 100755 --- a/Lib/lib2to3/tests/test_pytree.py +++ b/Lib/lib2to3/tests/test_pytree.py @@ -407,10 +407,10 @@ class TestPatterns(support.TestCase): pe = pytree.LeafPattern(1, "e", "pe") pf = pytree.LeafPattern(1, "f", "pf") pw = pytree.WildcardPattern([[pa, pb, pc], [pd, pe], - [pa, pb], [pc, pd], [pe, pf]], + [pa, pb], [pc, pd], [pe, pf]], min=1, max=4, name="pw") self.assertEqual([x[0] for x in pw.generate_matches(leaves)], - [3, 5, 2, 4, 6]) + [3, 5, 2, 4, 6]) pr = pytree.NodePattern(type=1000, content=[pw], name="pr") matches = list(pytree.generate_matches([pr], [root])) self.assertEqual(len(matches), 1) |