diff options
| author | Benjamin Peterson <benjamin@python.org> | 2008-11-28 22:12:14 (GMT) |
|---|---|---|
| committer | Benjamin Peterson <benjamin@python.org> | 2008-11-28 22:12:14 (GMT) |
| commit | 2555d9ddebee30119ee0ba6e40094e5d90bb538e (patch) | |
| tree | f71693a9efae5bd2eba7a645c6daa68b7866c8a5 /Lib/lib2to3/tests/test_fixers.py | |
| parent | eac8071e1682941e98d24d0e6f3c019e80617bd7 (diff) | |
| download | cpython-2555d9ddebee30119ee0ba6e40094e5d90bb538e.zip cpython-2555d9ddebee30119ee0ba6e40094e5d90bb538e.tar.gz cpython-2555d9ddebee30119ee0ba6e40094e5d90bb538e.tar.bz2 | |
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/test_fixers.py')
| -rwxr-xr-x | Lib/lib2to3/tests/test_fixers.py | 50 |
1 files changed, 42 insertions, 8 deletions
diff --git a/Lib/lib2to3/tests/test_fixers.py b/Lib/lib2to3/tests/test_fixers.py index eb68f62..209d5d7 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" |
