summaryrefslogtreecommitdiff
path: root/Lib/lib2to3/fixes/fix_asserts.py
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2013-11-23 21:14:42 +0200
committerEzio Melotti <ezio.melotti@gmail.com>2013-11-23 21:14:42 +0200
commitc26f52c27821b0d99087dc7f7972eee2ef15d97f (patch)
tree6e7cc60a6205ab0bd209ae565392af19cb3721d0 /Lib/lib2to3/fixes/fix_asserts.py
parent533be49cbf1abb058009c78f682641ab9edfeeb9 (diff)
downloadcpython-c26f52c27821b0d99087dc7f7972eee2ef15d97f.tar.gz
#10712: 2to3 has a new "asserts" fixer that replaces deprecated names of unittest methods.
Diffstat (limited to 'Lib/lib2to3/fixes/fix_asserts.py')
-rw-r--r--Lib/lib2to3/fixes/fix_asserts.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/Lib/lib2to3/fixes/fix_asserts.py b/Lib/lib2to3/fixes/fix_asserts.py
new file mode 100644
index 0000000000..5bcec885f5
--- /dev/null
+++ b/Lib/lib2to3/fixes/fix_asserts.py
@@ -0,0 +1,34 @@
+"""Fixer that replaces deprecated unittest method names."""
+
+# Author: Ezio Melotti
+
+from ..fixer_base import BaseFix
+from ..fixer_util import Name
+
+NAMES = dict(
+ assert_="assertTrue",
+ assertEquals="assertEqual",
+ assertNotEquals="assertNotEqual",
+ assertAlmostEquals="assertAlmostEqual",
+ assertNotAlmostEquals="assertNotAlmostEqual",
+ assertRegexpMatches="assertRegex",
+ assertRaisesRegexp="assertRaisesRegex",
+ failUnlessEqual="assertEqual",
+ failIfEqual="assertNotEqual",
+ failUnlessAlmostEqual="assertAlmostEqual",
+ failIfAlmostEqual="assertNotAlmostEqual",
+ failUnless="assertTrue",
+ failUnlessRaises="assertRaises",
+ failIf="assertFalse",
+)
+
+
+class FixAsserts(BaseFix):
+
+ PATTERN = """
+ power< any+ trailer< '.' meth=(%s)> any* >
+ """ % '|'.join(map(repr, NAMES))
+
+ def transform(self, node, results):
+ name = results["meth"][0]
+ name.replace(Name(NAMES[str(name)], prefix=name.prefix))