Esempio n. 1
0
 def test_trivial_rename(self):
     self.mod1.write('var = 1\n')
     refactoring = multiproject.MultiProjectRefactoring(
         rename.Rename, [])
     renamer = refactoring(self.project1, self.mod1, 1)
     multiproject.perform(renamer.get_all_changes('newvar'))
     self.assertEquals('newvar = 1\n', self.mod1.read())
Esempio n. 2
0
 def test_rename_from_the_project_not_containing_the_change(self):
     self.project2.get_prefs().add("python_path", self.project1.address)
     self.mod1.write("var = 1\n")
     self.mod2.write(
         dedent("""\
             import mod1
             myvar = mod1.var
         """)
     )
     refactoring = multiproject.MultiProjectRefactoring(
         rename.Rename, [self.project1]
     )
     renamer = refactoring(self.project2, self.mod2, self.mod2.read().rindex("var"))
     multiproject.perform(renamer.get_all_changes("newvar"))
     self.assertEqual(
         dedent("""\
             newvar = 1
         """),
         self.mod1.read(),
     )
     self.assertEqual(
         dedent("""\
             import mod1
             myvar = mod1.newvar
         """),
         self.mod2.read(),
     )
Esempio n. 3
0
 def test_move(self):
     self.mod1.write(
         dedent("""\
             def a_func():
                 pass
         """)
     )
     self.mod2.write(
         dedent("""\
             import mod1
             myvar = mod1.a_func()
         """)
     )
     refactoring = multiproject.MultiProjectRefactoring(
         move.create_move, [self.project2]
     )
     renamer = refactoring(self.project1, self.mod1, self.mod1.read().index("_func"))
     multiproject.perform(renamer.get_all_changes(self.other))
     self.assertEqual("", self.mod1.read())
     self.assertEqual(
         dedent("""\
             def a_func():
                 pass
         """),
         self.other.read(),
     )
     self.assertEqual(
         dedent("""\
             import other
             myvar = other.a_func()
         """),
         self.mod2.read(),
     )
Esempio n. 4
0
 def test_rename(self):
     self.mod1.write("var = 1\n")
     self.mod2.write("import mod1\nmyvar = mod1.var\n")
     refactoring = multiproject.MultiProjectRefactoring(rename.Rename, [self.project2])
     renamer = refactoring(self.project1, self.mod1, 1)
     multiproject.perform(renamer.get_all_changes("newvar"))
     self.assertEquals("newvar = 1\n", self.mod1.read())
     self.assertEquals("import mod1\nmyvar = mod1.newvar\n", self.mod2.read())
Esempio n. 5
0
 def test_rename_from_the_project_not_containing_the_change(self):
     self.project2.get_prefs().add("python_path", self.project1.address)
     self.mod1.write("var = 1\n")
     self.mod2.write("import mod1\nmyvar = mod1.var\n")
     refactoring = multiproject.MultiProjectRefactoring(rename.Rename, [self.project1])
     renamer = refactoring(self.project2, self.mod2, self.mod2.read().rindex("var"))
     multiproject.perform(renamer.get_all_changes("newvar"))
     self.assertEquals("newvar = 1\n", self.mod1.read())
     self.assertEquals("import mod1\nmyvar = mod1.newvar\n", self.mod2.read())
Esempio n. 6
0
 def test_move(self):
     self.mod1.write("def a_func():\n    pass\n")
     self.mod2.write("import mod1\nmyvar = mod1.a_func()\n")
     refactoring = multiproject.MultiProjectRefactoring(move.create_move, [self.project2])
     renamer = refactoring(self.project1, self.mod1, self.mod1.read().index("_func"))
     multiproject.perform(renamer.get_all_changes(self.other))
     self.assertEquals("", self.mod1.read())
     self.assertEquals("def a_func():\n    pass\n", self.other.read())
     self.assertEquals("import mod1\nimport other\nmyvar = other.a_func()\n", self.mod2.read())
Esempio n. 7
0
 def test_rename(self):
     self.mod1.write('var = 1\n')
     self.mod2.write('import mod1\nmyvar = mod1.var\n')
     refactoring = multiproject.MultiProjectRefactoring(
         rename.Rename, [self.project2])
     renamer = refactoring(self.project1, self.mod1, 1)
     multiproject.perform(renamer.get_all_changes('newvar'))
     self.assertEquals('newvar = 1\n', self.mod1.read())
     self.assertEquals('import mod1\nmyvar = mod1.newvar\n',
                       self.mod2.read())
Esempio n. 8
0
 def test_rename_from_the_project_not_containing_the_change(self):
     self.project2.get_prefs().add('python_path', self.project1.address)
     self.mod1.write('var = 1\n')
     self.mod2.write('import mod1\nmyvar = mod1.var\n')
     refactoring = multiproject.MultiProjectRefactoring(
         rename.Rename, [self.project1])
     renamer = refactoring(self.project2, self.mod2,
                           self.mod2.read().rindex('var'))
     multiproject.perform(renamer.get_all_changes('newvar'))
     self.assertEquals('newvar = 1\n', self.mod1.read())
     self.assertEquals('import mod1\nmyvar = mod1.newvar\n',
                       self.mod2.read())
Esempio n. 9
0
 def test_move(self):
     self.mod1.write('def a_func():\n    pass\n')
     self.mod2.write('import mod1\nmyvar = mod1.a_func()\n')
     refactoring = multiproject.MultiProjectRefactoring(
         move.create_move, [self.project2])
     renamer = refactoring(self.project1, self.mod1,
                           self.mod1.read().index('_func'))
     multiproject.perform(renamer.get_all_changes(self.other))
     self.assertEquals('', self.mod1.read())
     self.assertEquals('def a_func():\n    pass\n', self.other.read())
     self.assertEquals('import other\nmyvar = other.a_func()\n',
                       self.mod2.read())
Esempio n. 10
0
 def test_rename(self):
     self.mod1.write("var = 1\n")
     self.mod2.write(
         dedent("""\
             import mod1
             myvar = mod1.var
         """)
     )
     refactoring = multiproject.MultiProjectRefactoring(
         rename.Rename, [self.project2]
     )
     renamer = refactoring(self.project1, self.mod1, 1)
     multiproject.perform(renamer.get_all_changes("newvar"))
     self.assertEqual("newvar = 1\n", self.mod1.read())
     self.assertEqual(
         dedent("""\
             import mod1
             myvar = mod1.newvar
         """),
         self.mod2.read(),
     )
Esempio n. 11
0
def apply_pending_changes(_, main_project, multiproj, pending_changes):
    """
    Apply pending changes.
    """
    try:
        main_project.validate()
        pending_changes = pending_changes
        if multiproj:
            try:
                multiproject.perform(pending_changes)
            except TypeError:
                main_project.do(pending_changes)
        else:
            main_project.do(pending_changes)
    except Exception as e:
        error = RefactoringError()
        error.exc = str(e)
        error.traceback = traceback.format_exc()
        error.critical = True
        return error
    else:
        return True
Esempio n. 12
0
def apply_pending_changes(_, main_project, multiproj, pending_changes):
    """
    Apply pending changes.
    """
    try:
        main_project.validate()
        pending_changes = pending_changes
        if multiproj:
            try:
                multiproject.perform(pending_changes)
            except TypeError:
                main_project.do(pending_changes)
        else:
            main_project.do(pending_changes)
    except Exception as e:
        error = RefactoringError()
        error.exc = str(e)
        error.traceback = traceback.format_exc()
        error.critical = True
        return error
    else:
        return True
Esempio n. 13
0
 def test_trivial_rename(self):
     self.mod1.write('var = 1\n')
     refactoring = multiproject.MultiProjectRefactoring(rename.Rename, [])
     renamer = refactoring(self.project1, self.mod1, 1)
     multiproject.perform(renamer.get_all_changes('newvar'))
     self.assertEquals('newvar = 1\n', self.mod1.read())
Esempio n. 14
0
    def perform(self):
        "Perform the refactoring."
        assert not self._performed

        multiproject.perform(self.changes)
        self._performed = True
Esempio n. 15
0
    def perform(self):
        "Perform the refactoring."
        assert not self._performed

        multiproject.perform(self.changes)
        self._performed = True
Esempio n. 16
0
 def perform(self):
     "Perform the refactoring."
     multiproject.perform(self.changes)