mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
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. ........ ................
This commit is contained in:
parent
ef04c44e29
commit
f733c60d9a
24 changed files with 249 additions and 174 deletions
|
@ -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 = []
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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'}""")
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue