diff options
author | Ezio Melotti <ezio.melotti@gmail.com> | 2013-11-23 19:14:42 (GMT) |
---|---|---|
committer | Ezio Melotti <ezio.melotti@gmail.com> | 2013-11-23 19:14:42 (GMT) |
commit | 6bdd98622e88bed3ede325b0ffc2bb8d63cde52f (patch) | |
tree | 6ade26a10db633cd32dd09e7d3a94f0fd51004f5 /Lib/lib2to3/fixes/fix_asserts.py | |
parent | 7571941db6591c7521311274f0ea3c83657eb911 (diff) | |
download | cpython-6bdd98622e88bed3ede325b0ffc2bb8d63cde52f.zip cpython-6bdd98622e88bed3ede325b0ffc2bb8d63cde52f.tar.gz cpython-6bdd98622e88bed3ede325b0ffc2bb8d63cde52f.tar.bz2 |
#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.py | 34 |
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 0000000..5bcec88 --- /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)) |