|
"""Fixer that replaces deprecated unittest method names.""" |
|
|
|
|
|
|
|
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)) |
|
|