summaryrefslogtreecommitdiffstats
path: root/Lib/lib2to3/tests/test_fixers.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2008-10-15 23:10:28 (GMT)
committerBenjamin Peterson <benjamin@python.org>2008-10-15 23:10:28 (GMT)
commit6ae94ee299648c93ab76a97beec2943dcf050a2b (patch)
treec519c51f625293904c79946e289ccee2e14c0b11 /Lib/lib2to3/tests/test_fixers.py
parent1fb84519b1efa71a02c6d63800e47937922e6483 (diff)
downloadcpython-6ae94ee299648c93ab76a97beec2943dcf050a2b.zip
cpython-6ae94ee299648c93ab76a97beec2943dcf050a2b.tar.gz
cpython-6ae94ee299648c93ab76a97beec2943dcf050a2b.tar.bz2
Merged revisions 66805,66841,66860,66884-66886,66893,66907,66910 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3 ........ r66805 | benjamin.peterson | 2008-10-04 20:11:02 -0500 (Sat, 04 Oct 2008) | 1 line mention what the fixes directory is for ........ r66841 | benjamin.peterson | 2008-10-07 17:48:12 -0500 (Tue, 07 Oct 2008) | 1 line use assertFalse and assertTrue ........ r66860 | benjamin.peterson | 2008-10-08 16:05:07 -0500 (Wed, 08 Oct 2008) | 1 line instead of abusing the pattern matcher, use start_tree to find a next binding ........ r66884 | benjamin.peterson | 2008-10-13 15:50:30 -0500 (Mon, 13 Oct 2008) | 1 line don't print tokens to stdout when -v is given ........ r66885 | benjamin.peterson | 2008-10-13 16:28:57 -0500 (Mon, 13 Oct 2008) | 1 line add the -x option to disable fixers ........ r66886 | benjamin.peterson | 2008-10-13 16:33:53 -0500 (Mon, 13 Oct 2008) | 1 line cut down on some crud ........ r66893 | benjamin.peterson | 2008-10-14 17:16:54 -0500 (Tue, 14 Oct 2008) | 1 line add an optional set literal fixer ........ r66907 | benjamin.peterson | 2008-10-15 16:59:41 -0500 (Wed, 15 Oct 2008) | 1 line don't write backup files by default ........ r66910 | benjamin.peterson | 2008-10-15 17:43:10 -0500 (Wed, 15 Oct 2008) | 1 line add the -n option; it stops backupfiles from being written ........
Diffstat (limited to 'Lib/lib2to3/tests/test_fixers.py')
-rwxr-xr-xLib/lib2to3/tests/test_fixers.py128
1 files changed, 128 insertions, 0 deletions
diff --git a/Lib/lib2to3/tests/test_fixers.py b/Lib/lib2to3/tests/test_fixers.py
index 705b04e..76243bf 100755
--- a/Lib/lib2to3/tests/test_fixers.py
+++ b/Lib/lib2to3/tests/test_fixers.py
@@ -3385,6 +3385,134 @@ class Test_import(FixerTestCase):
"""
self.check_both(b, a)
+
+class Test_set_literal(FixerTestCase):
+
+ fixer = "set_literal"
+
+ def test_basic(self):
+ b = """set([1, 2, 3])"""
+ a = """{1, 2, 3}"""
+ self.check(b, a)
+
+ b = """set((1, 2, 3))"""
+ a = """{1, 2, 3}"""
+ self.check(b, a)
+
+ b = """set((1,))"""
+ a = """{1}"""
+ self.check(b, a)
+
+ b = """set([1])"""
+ self.check(b, a)
+
+ b = """set((a, b))"""
+ a = """{a, b}"""
+ self.check(b, a)
+
+ b = """set([a, b])"""
+ self.check(b, a)
+
+ b = """set((a*234, f(args=23)))"""
+ a = """{a*234, f(args=23)}"""
+ self.check(b, a)
+
+ b = """set([a*23, f(23)])"""
+ a = """{a*23, f(23)}"""
+ self.check(b, a)
+
+ b = """set([a-234**23])"""
+ a = """{a-234**23}"""
+ self.check(b, a)
+
+ def test_listcomps(self):
+ b = """set([x for x in y])"""
+ a = """{x for x in y}"""
+ self.check(b, a)
+
+ b = """set([x for x in y if x == m])"""
+ a = """{x for x in y if x == m}"""
+ self.check(b, a)
+
+ b = """set([x for x in y for a in b])"""
+ a = """{x for x in y for a in b}"""
+ self.check(b, a)
+
+ b = """set([f(x) - 23 for x in y])"""
+ a = """{f(x) - 23 for x in y}"""
+ self.check(b, a)
+
+ def test_whitespace(self):
+ b = """set( [1, 2])"""
+ a = """{1, 2}"""
+ self.check(b, a)
+
+ b = """set([1 , 2])"""
+ a = """{1 , 2}"""
+ self.check(b, a)
+
+ b = """set([ 1 ])"""
+ a = """{ 1 }"""
+ self.check(b, a)
+
+ b = """set( [1] )"""
+ a = """{1}"""
+ self.check(b, a)
+
+ b = """set([ 1, 2 ])"""
+ a = """{ 1, 2 }"""
+ self.check(b, a)
+
+ b = """set([x for x in y ])"""
+ a = """{x for x in y }"""
+ self.check(b, a)
+
+ b = """set(
+ [1, 2]
+ )
+ """
+ a = """{1, 2}\n"""
+ self.check(b, a)
+
+ def test_comments(self):
+ b = """set((1, 2)) # Hi"""
+ a = """{1, 2} # Hi"""
+ self.check(b, a)
+
+ # This isn't optimal behavior, but the fixer is optional.
+ b = """
+ # Foo
+ set( # Bar
+ (1, 2)
+ )
+ """
+ a = """
+ # Foo
+ {1, 2}
+ """
+ self.check(b, a)
+
+ def test_unchanged(self):
+ s = """set()"""
+ self.unchanged(s)
+
+ s = """set(a)"""
+ self.unchanged(s)
+
+ s = """set(a, b, c)"""
+ self.unchanged(s)
+
+ # Don't transform generators because they might have to be lazy.
+ s = """set(x for x in y)"""
+ self.unchanged(s)
+
+ s = """set(x for x in y if z)"""
+ self.unchanged(s)
+
+ s = """set(a*823-23**2 + f(23))"""
+ self.unchanged(s)
+
+
class Test_sys_exc(FixerTestCase):
fixer = "sys_exc"