diff options
author | Benjamin Peterson <benjamin@python.org> | 2008-11-28 23:01:28 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2008-11-28 23:01:28 (GMT) |
commit | 5cff9312fd95469f5e5afdaaa8d7949361ffc79f (patch) | |
tree | 5366128fd020b9de3e885b1985c79253fe38a25c /Lib/lib2to3/tests | |
parent | 6f3a6e209a2cc460ed70c6bd1fa660d9b4b92b49 (diff) | |
download | cpython-5cff9312fd95469f5e5afdaaa8d7949361ffc79f.zip cpython-5cff9312fd95469f5e5afdaaa8d7949361ffc79f.tar.gz cpython-5cff9312fd95469f5e5afdaaa8d7949361ffc79f.tar.bz2 |
Merged revisions 67428 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
................
r67428 | benjamin.peterson | 2008-11-28 16:12:14 -0600 (Fri, 28 Nov 2008) | 57 lines
Merged revisions 67384,67386-67387,67389-67390,67392,67399-67400,67403-67405,67426 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3
........
r67384 | benjamin.peterson | 2008-11-25 16:13:31 -0600 (Tue, 25 Nov 2008) | 4 lines
don't duplicate calls to start_tree()
RefactoringTool.pre_order values now holds a list of the fixers while pre_order_mapping holds the dict.
........
r67386 | benjamin.peterson | 2008-11-25 16:44:52 -0600 (Tue, 25 Nov 2008) | 1 line
#4423 fix_imports was still replacing usage of a module if attributes were being used
........
r67387 | benjamin.peterson | 2008-11-25 16:47:54 -0600 (Tue, 25 Nov 2008) | 1 line
fix broken test
........
r67389 | benjamin.peterson | 2008-11-25 17:13:17 -0600 (Tue, 25 Nov 2008) | 1 line
remove compatibility code; we only cater to 2.5+
........
r67390 | benjamin.peterson | 2008-11-25 22:03:36 -0600 (Tue, 25 Nov 2008) | 1 line
fix #3994; the usage of changed imports was fixed in nested cases
........
r67392 | benjamin.peterson | 2008-11-26 11:11:40 -0600 (Wed, 26 Nov 2008) | 1 line
simpilfy and comment fix_imports
........
r67399 | benjamin.peterson | 2008-11-26 11:47:03 -0600 (Wed, 26 Nov 2008) | 1 line
remove more compatibility code
........
r67400 | benjamin.peterson | 2008-11-26 12:07:41 -0600 (Wed, 26 Nov 2008) | 1 line
set svn:ignore
........
r67403 | benjamin.peterson | 2008-11-26 13:11:11 -0600 (Wed, 26 Nov 2008) | 1 line
wrap import
........
r67404 | benjamin.peterson | 2008-11-26 13:29:49 -0600 (Wed, 26 Nov 2008) | 1 line
build the fix_imports pattern in compile_pattern, so MAPPING can be changed and reflected in the pattern
........
r67405 | benjamin.peterson | 2008-11-26 14:01:24 -0600 (Wed, 26 Nov 2008) | 1 line
stop ugly messages about runtime errors being from printed
........
r67426 | benjamin.peterson | 2008-11-28 16:01:40 -0600 (Fri, 28 Nov 2008) | 5 lines
don't replace a module name if it is in the middle of a attribute lookup
This fix also stops module names from being replaced if they are not in an attribute lookup.
........
................
Diffstat (limited to 'Lib/lib2to3/tests')
-rwxr-xr-x | Lib/lib2to3/tests/test_fixers.py | 50 | ||||
-rw-r--r-- | Lib/lib2to3/tests/test_refactor.py | 2 |
2 files changed, 43 insertions, 9 deletions
diff --git a/Lib/lib2to3/tests/test_fixers.py b/Lib/lib2to3/tests/test_fixers.py index 51c019f..7dd1c28 100755 --- a/Lib/lib2to3/tests/test_fixers.py +++ b/Lib/lib2to3/tests/test_fixers.py @@ -15,10 +15,7 @@ from itertools import chain from operator import itemgetter # Local imports -from .. import pygram -from .. import pytree -from .. import refactor -from .. import fixer_util +from lib2to3 import pygram, pytree, refactor, fixer_util class FixerTestCase(support.TestCase): @@ -30,10 +27,9 @@ class FixerTestCase(support.TestCase): self.fixer_log = [] self.filename = "<string>" - for order in (self.refactor.pre_order.values(),\ - self.refactor.post_order.values()): - for fixer in chain(*order): - fixer.log = self.fixer_log + for fixer in chain(self.refactor.pre_order, + self.refactor.post_order): + fixer.log = self.fixer_log def _check(self, before, after): before = support.reformat(before) @@ -1488,6 +1484,44 @@ class Test_imports(FixerTestCase): """ % (new, new) self.check(b, a) + b = """ + from %s import x + %s = 23 + """ % (old, old) + a = """ + from %s import x + %s = 23 + """ % (new, old) + self.check(b, a) + + s = """ + def f(): + %s.method() + """ % (old,) + self.unchanged(s) + + # test nested usage + b = """ + import %s + %s.bar(%s.foo) + """ % (old, old, old) + a = """ + import %s + %s.bar(%s.foo) + """ % (new, new, new) + self.check(b, a) + + b = """ + import %s + x.%s + """ % (old, old) + a = """ + import %s + x.%s + """ % (new, old) + self.check(b, a) + + class Test_imports2(Test_imports): fixer = "imports2" diff --git a/Lib/lib2to3/tests/test_refactor.py b/Lib/lib2to3/tests/test_refactor.py index 0814ad7..5a49f01 100644 --- a/Lib/lib2to3/tests/test_refactor.py +++ b/Lib/lib2to3/tests/test_refactor.py @@ -161,7 +161,7 @@ class TestRefactoringTool(unittest.TestCase): self.assertEqual(len(rt.post_order), 0) rt = self.rt(explicit=["myfixes.fix_explicit"]) - for fix in rt.post_order[None]: + for fix in rt.post_order: if isinstance(fix, FixExplicit): break else: |