17db96d56Sopenharmony_ci"""Fixer that replaces deprecated unittest method names."""
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ci# Author: Ezio Melotti
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_cifrom ..fixer_base import BaseFix
67db96d56Sopenharmony_cifrom ..fixer_util import Name
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ciNAMES = dict(
97db96d56Sopenharmony_ci    assert_="assertTrue",
107db96d56Sopenharmony_ci    assertEquals="assertEqual",
117db96d56Sopenharmony_ci    assertNotEquals="assertNotEqual",
127db96d56Sopenharmony_ci    assertAlmostEquals="assertAlmostEqual",
137db96d56Sopenharmony_ci    assertNotAlmostEquals="assertNotAlmostEqual",
147db96d56Sopenharmony_ci    assertRegexpMatches="assertRegex",
157db96d56Sopenharmony_ci    assertRaisesRegexp="assertRaisesRegex",
167db96d56Sopenharmony_ci    failUnlessEqual="assertEqual",
177db96d56Sopenharmony_ci    failIfEqual="assertNotEqual",
187db96d56Sopenharmony_ci    failUnlessAlmostEqual="assertAlmostEqual",
197db96d56Sopenharmony_ci    failIfAlmostEqual="assertNotAlmostEqual",
207db96d56Sopenharmony_ci    failUnless="assertTrue",
217db96d56Sopenharmony_ci    failUnlessRaises="assertRaises",
227db96d56Sopenharmony_ci    failIf="assertFalse",
237db96d56Sopenharmony_ci)
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_ci
267db96d56Sopenharmony_ciclass FixAsserts(BaseFix):
277db96d56Sopenharmony_ci
287db96d56Sopenharmony_ci    PATTERN = """
297db96d56Sopenharmony_ci              power< any+ trailer< '.' meth=(%s)> any* >
307db96d56Sopenharmony_ci              """ % '|'.join(map(repr, NAMES))
317db96d56Sopenharmony_ci
327db96d56Sopenharmony_ci    def transform(self, node, results):
337db96d56Sopenharmony_ci        name = results["meth"][0]
347db96d56Sopenharmony_ci        name.replace(Name(NAMES[str(name)], prefix=name.prefix))
35