1 """Fixer that replaces deprecated unittest method names."""
2
3 # Author: Ezio Melotti
4
5 from ..fixer_base import BaseFix
6 from ..fixer_util import Name
7
8 NAMES = dict(
9 assert_="assertTrue",
10 assertEquals="assertEqual",
11 assertNotEquals="assertNotEqual",
12 assertAlmostEquals="assertAlmostEqual",
13 assertNotAlmostEquals="assertNotAlmostEqual",
14 assertRegexpMatches="assertRegex",
15 assertRaisesRegexp="assertRaisesRegex",
16 failUnlessEqual="assertEqual",
17 failIfEqual="assertNotEqual",
18 failUnlessAlmostEqual="assertAlmostEqual",
19 failIfAlmostEqual="assertNotAlmostEqual",
20 failUnless="assertTrue",
21 failUnlessRaises="assertRaises",
22 failIf="assertFalse",
23 )
24
25
26 class ESC[4;38;5;81mFixAsserts(ESC[4;38;5;149mBaseFix):
27
28 PATTERN = """
29 power< any+ trailer< '.' meth=(%s)> any* >
30 """ % '|'.join(map(repr, NAMES))
31
32 def transform(self, node, results):
33 name = results["meth"][0]
34 name.replace(Name(NAMES[str(name)], prefix=name.prefix))