コード例 #1
0
ファイル: movetest.py プロジェクト: JacekPliszka/rope
 def test_moving_module_refactoring_and_nonexistent_destinations(self):
     self.mod4.write('a_var = 1')
     self.mod2.write('from pkg import mod4\n'
                     'import os\n\n\nprint(mod4.a_var)\n')
     with self.assertRaises(exceptions.RefactoringError):
         mover = move.create_move(self.project, self.mod4)
         mover.get_changes(None).do()
コード例 #2
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_methods_and_nonexistent_attributes(self):
     code = 'class A(object):\n' \
            '    def a_method(self):\n        return 1\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     mover.get_changes('x', 'new_method')
コード例 #3
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_methods_getting_new_method_for_constant_methods(self):
     code = 'class A(object):\n    def a_method(self):\n        return 1\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     self.assertEquals('def new_method(self):\n    return 1\n',
                       mover.get_new_method('new_method'))
コード例 #4
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_module_and_star_imports(self):
     self.mod1.write('a_var = 1')
     self.mod2.write('from mod1 import *\na = a_var\n')
     mover = move.create_move(self.project, self.mod1)
     mover.get_changes(self.pkg).do()
     self.assertEquals('from pkg.mod1 import *\na = a_var\n',
                       self.mod2.read())
コード例 #5
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_unknown_attribute_type(self):
     code = 'class A(object):\n    attr = 1\n' \
            '    def a_method(self):\n        return 1\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     mover.get_changes('attr', 'new_method')
コード例 #6
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_a_global_when_it_is_used_after_a_multiline_str(self):
     code = 'def f():\n    pass\ns = """\\\n"""\nr = f()\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1, code.index("f()") + 1)
     self.project.do(mover.get_changes(self.mod2))
     expected = 'import mod2\ns = """\\\n"""\nr = mod2.f()\n'
     self.assertEquals(expected, self.mod1.read())
コード例 #7
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_methods_gettin_new_method_with_keyword_arguments(self):
     code = 'class A(object):\n    attr = 1\n' \
            '    def a_method(self, p=None):\n        return p\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     self.assertEquals('def new_method(self, p=None):\n    return p\n',
                       mover.get_new_method('new_method'))
コード例 #8
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_methods_getting_new_method_renaming_main_object(self):
     code = 'class A(object):\n    attr = 1\n' \
            '    def a_method(self):\n        return self.attr\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     self.assertEquals('def new_method(self, host):\n    return host.attr\n',
                       mover.get_new_method('new_method'))
コード例 #9
0
ファイル: movetest.py プロジェクト: caseboy01/myemacs
 def test_moving_methods_gettin_new_method_with_keyword_arguments(self):
     code = 'class A(object):\n    attr = 1\n' \
            '    def a_method(self, p=None):\n        return p\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     self.assertEquals('def new_method(self, p=None):\n    return p\n',
                       mover.get_new_method('new_method'))
コード例 #10
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_module_and_not_removing_blanks_after_imports(self):
     self.mod4.write('a_var = 1')
     self.mod2.write('from pkg import mod4\n'
                     'import os\n\n\nprint(mod4.a_var)\n')
     mover = move.create_move(self.project, self.mod4)
     mover.get_changes(self.project.root).do()
     self.assertEquals('import os\nimport mod4\n\n\n'
                       'print(mod4.a_var)\n', self.mod2.read())
コード例 #11
0
ファイル: movetest.py プロジェクト: JacekPliszka/rope
 def test_unknown_attribute_type(self):
     code = 'class A(object):\n    attr = 1\n' \
            '    def a_method(self):\n        return 1\n'
     self.mod1.write(code)
     with self.assertRaises(exceptions.RefactoringError):
         mover = move.create_move(self.project, self.mod1,
                                  code.index('a_method'))
         mover.get_changes('attr', 'new_method')
コード例 #12
0
 def test_moving_module_and_not_removing_blanks_after_imports(self):
     self.mod4.write('a_var = 1')
     self.mod2.write('from pkg import mod4\n'
                     'import os\n\n\nprint(mod4.a_var)\n')
     mover = move.create_move(self.project, self.mod4)
     mover.get_changes(self.project.root).do()
     self.assertEquals('import os\nimport mod4\n\n\n'
                       'print(mod4.a_var)\n', self.mod2.read())
コード例 #13
0
 def test_moving_resources_using_move_module_for_packages(self):
     self.mod1.write('import pkg\nmy_pkg = pkg')
     pkg2 = testutils.create_package(self.project, 'pkg2')
     mover = move.create_move(self.project, self.pkg)
     mover.get_changes(pkg2).do()
     expected = 'import pkg2.pkg\nmy_pkg = pkg2.pkg'
     self.assertEquals(expected, self.mod1.read())
     self.assertTrue(pkg2.get_child('pkg') is not None)
コード例 #14
0
 def test_moving_resources_using_move_module_refactoring(self):
     self.mod1.write('a_var = 1')
     self.mod2.write('import mod1\nmy_var = mod1.a_var\n')
     mover = move.create_move(self.project, self.mod1)
     mover.get_changes(self.pkg).do()
     expected = 'import pkg.mod1\nmy_var = pkg.mod1.a_var\n'
     self.assertEquals(expected, self.mod2.read())
     self.assertTrue(self.pkg.get_child('mod1.py') is not None)
コード例 #15
0
ファイル: movetest.py プロジェクト: caseboy01/myemacs
 def test_moving_a_global_when_it_is_used_after_a_multiline_str(self):
     code = 'def f():\n    pass\ns = """\\\n"""\nr = f()\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('f()') + 1)
     self.project.do(mover.get_changes(self.mod2))
     expected = 'import mod2\ns = """\\\n"""\nr = mod2.f()\n'
     self.assertEquals(expected, self.mod1.read())
コード例 #16
0
ファイル: movetest.py プロジェクト: caseboy01/myemacs
 def test_unknown_attribute_type(self):
     code = 'class A(object):\n    attr = 1\n' \
            '    def a_method(self):\n        return 1\n'
     self.mod1.write(code)
     with self.assertRaises(exceptions.RefactoringError):
         mover = move.create_move(self.project, self.mod1,
                                  code.index('a_method'))
         mover.get_changes('attr', 'new_method')
コード例 #17
0
ファイル: movetest.py プロジェクト: caseboy01/myemacs
 def test_moving_methods_and_nonexistent_attributes(self):
     code = 'class A(object):\n' \
            '    def a_method(self):\n        return 1\n'
     self.mod1.write(code)
     with self.assertRaises(exceptions.RefactoringError):
         mover = move.create_move(self.project, self.mod1,
                                  code.index('a_method'))
         mover.get_changes('x', 'new_method')
コード例 #18
0
ファイル: movetest.py プロジェクト: JacekPliszka/rope
 def test_moving_methods_and_nonexistent_attributes(self):
     code = 'class A(object):\n' \
            '    def a_method(self):\n        return 1\n'
     self.mod1.write(code)
     with self.assertRaises(exceptions.RefactoringError):
         mover = move.create_move(self.project, self.mod1,
                                  code.index('a_method'))
         mover.get_changes('x', 'new_method')
コード例 #19
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_methods_getting_new_method_passing_simple_paremters(self):
     code = 'class A(object):\n' \
            '    def a_method(self, p):\n        return p\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     self.assertEquals('def new_method(self, p):\n    return p\n',
                       mover.get_new_method('new_method'))
コード例 #20
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_resources_using_move_module_refactoring(self):
     self.mod1.write("a_var = 1")
     self.mod2.write("import mod1\nmy_var = mod1.a_var\n")
     mover = move.create_move(self.project, self.mod1)
     mover.get_changes(self.pkg).do()
     expected = "import pkg.mod1\nmy_var = pkg.mod1.a_var\n"
     self.assertEquals(expected, self.mod2.read())
     self.assertTrue(self.pkg.get_child("mod1.py") is not None)
コード例 #21
0
ファイル: movetest.py プロジェクト: caseboy01/myemacs
 def test_moving_methods_getting_new_method_passing_simple_paremters(self):
     code = 'class A(object):\n' \
            '    def a_method(self, p):\n        return p\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     self.assertEquals('def new_method(self, p):\n    return p\n',
                       mover.get_new_method('new_method'))
コード例 #22
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_resources_using_move_module_for_packages(self):
     self.mod1.write("import pkg\nmy_pkg = pkg")
     pkg2 = testutils.create_package(self.project, "pkg2")
     mover = move.create_move(self.project, self.pkg)
     mover.get_changes(pkg2).do()
     expected = "import pkg2.pkg\nmy_pkg = pkg2.pkg"
     self.assertEquals(expected, self.mod1.read())
     self.assertTrue(pkg2.get_child("pkg") is not None)
コード例 #23
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_resources_using_move_module_for_init_dot_py(self):
     self.mod1.write("import pkg\nmy_pkg = pkg")
     pkg2 = testutils.create_package(self.project, "pkg2")
     init = self.pkg.get_child("__init__.py")
     mover = move.create_move(self.project, init)
     mover.get_changes(pkg2).do()
     self.assertEquals("import pkg2.pkg\nmy_pkg = pkg2.pkg", self.mod1.read())
     self.assertTrue(pkg2.get_child("pkg") is not None)
コード例 #24
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_globals_to_a_module_with_only_docstrings(self):
     self.mod1.write("import sys\n\n\ndef f():\n    print(sys.version)\n")
     self.mod2.write('"""doc\n\nMore docs ...\n\n"""\n')
     mover = move.create_move(self.project, self.mod1, self.mod1.read().index("f()") + 1)
     self.project.do(mover.get_changes(self.mod2))
     self.assertEquals(
         '"""doc\n\nMore docs ...\n\n"""\n' "import sys\n\n\ndef f():\n    print(sys.version)\n", self.mod2.read()
     )
コード例 #25
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_raising_an_exception_for_moving_non_global_variable(self):
     code = dedent("""\
         class TestClass:
             CONSTANT = 5
     """)
     self.mod1.write(code)
     with self.assertRaises(exceptions.RefactoringError):
         mover = move.create_move(self.project, self.mod1,
                                  code.index("CONSTANT") + 1)
コード例 #26
0
ファイル: movetest.py プロジェクト: Cloudxtreme/rope
 def test_moving_methods_getting_new_method_renaming_main_object(self):
     code = 'class A(object):\n    attr = 1\n' \
            '    def a_method(self):\n        return self.attr\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     self.assertEquals(
         'def new_method(self, host):'
         '\n    return host.attr\n', mover.get_new_method('new_method'))
コード例 #27
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_to_a_module_with_encoding_cookie(self):
     code1 = "# -*- coding: utf-8 -*-"
     self.mod1.write(code1)
     code2 = "def f(): pass\n"
     self.mod2.write(code2)
     mover = move.create_move(self.project, self.mod2, code2.index("f()") + 1)
     self.project.do(mover.get_changes(self.mod1))
     expected = "%s\n%s" % (code1, code2)
     self.assertEquals(expected, self.mod1.read())
コード例 #28
0
ファイル: movetest.py プロジェクト: Cloudxtreme/rope
 def test_moving_resources_using_move_module_for_init_dot_py(self):
     self.mod1.write('import pkg\nmy_pkg = pkg')
     pkg2 = testutils.create_package(self.project, 'pkg2')
     init = self.pkg.get_child('__init__.py')
     mover = move.create_move(self.project, init)
     mover.get_changes(pkg2).do()
     self.assertEquals('import pkg2.pkg\nmy_pkg = pkg2.pkg',
                       self.mod1.read())
     self.assertTrue(pkg2.get_child('pkg') is not None)
コード例 #29
0
ファイル: rope.py プロジェクト: anto-daniel/python-vim
    def get_refactor(ctx):
        """ Function description.

        :return Rename:

        """
        _, offset = env.get_offset_params()
        if offset == 0:
            offset = None
        return move.create_move(ctx.project, ctx.resource, offset)
コード例 #30
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_methods_gettin_new_method_with_many_kinds_arguments(self):
     code = (
         "class A(object):\n    attr = 1\n"
         "    def a_method(self, p1, *args, **kwds):\n"
         "        return self.attr\n"
     )
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1, code.index("a_method"))
     expected = "def new_method(self, host, p1, *args, **kwds):\n" "    return host.attr\n"
     self.assertEquals(expected, mover.get_new_method("new_method"))
コード例 #31
0
ファイル: movetest.py プロジェクト: Cloudxtreme/rope
 def test_moving_methods_gettin_new_method_with_many_kinds_arguments(self):
     code = 'class A(object):\n    attr = 1\n' \
            '    def a_method(self, p1, *args, **kwds):\n' \
            '        return self.attr\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     expected = 'def new_method(self, host, p1, *args, **kwds):\n' \
                '    return host.attr\n'
     self.assertEquals(expected, mover.get_new_method('new_method'))
コード例 #32
0
ファイル: movetest.py プロジェクト: Cloudxtreme/rope
 def test_moving_globals_to_a_module_with_only_docstrings(self):
     self.mod1.write('import sys\n\n\ndef f():\n    print(sys.version)\n')
     self.mod2.write('"""doc\n\nMore docs ...\n\n"""\n')
     mover = move.create_move(self.project, self.mod1,
                              self.mod1.read().index('f()') + 1)
     self.project.do(mover.get_changes(self.mod2))
     self.assertEquals(
         '"""doc\n\nMore docs ...\n\n"""\n'
         'import sys\n\n\ndef f():\n    print(sys.version)\n',
         self.mod2.read())
コード例 #33
0
ファイル: movetest.py プロジェクト: Cloudxtreme/rope
 def test_moving_methods_getting_new_method_for_multi_line_methods(self):
     code = 'class A(object):\n' \
            '    def a_method(self):\n' \
            '        a = 2\n' \
            '        return a\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     self.assertEquals('def new_method(self):\n    a = 2\n    return a\n',
                       mover.get_new_method('new_method'))
コード例 #34
0
ファイル: movetest.py プロジェクト: Cloudxtreme/rope
 def test_moving_to_a_module_with_encoding_cookie(self):
     code1 = '# -*- coding: utf-8 -*-'
     self.mod1.write(code1)
     code2 = 'def f(): pass\n'
     self.mod2.write(code2)
     mover = move.create_move(self.project, self.mod2,
                              code2.index('f()') + 1)
     self.project.do(mover.get_changes(self.mod1))
     expected = '%s\n%s' % (code1, code2)
     self.assertEquals(expected, self.mod1.read())
コード例 #35
0
    def get_refactor(ctx):
        """ Function description.

        :return Rename:

        """
        _, offset = env.get_offset_params()
        if offset == 0:
            offset = None
        return move.create_move(ctx.project, ctx.resource, offset)
コード例 #36
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_moving_methods_choosing_the_correct_class(self):
     code = dedent("""\
         class A(object):
             def a_method(self):
                 pass
     """)
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index("a_method"))
     self.assertTrue(isinstance(mover, move.MoveMethod))
コード例 #37
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_moving_methods_and_nonexistent_attributes(self):
     code = dedent("""\
         class A(object):
             def a_method(self):
                 return 1
     """)
     self.mod1.write(code)
     with self.assertRaises(exceptions.RefactoringError):
         mover = move.create_move(self.project, self.mod1,
                                  code.index("a_method"))
         mover.get_changes("x", "new_method")
コード例 #38
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_unknown_attribute_type(self):
     code = dedent("""\
         class A(object):
             attr = 1
             def a_method(self):
                 return 1
     """)
     self.mod1.write(code)
     with self.assertRaises(exceptions.RefactoringError):
         mover = move.create_move(self.project, self.mod1,
                                  code.index("a_method"))
         mover.get_changes("attr", "new_method")
コード例 #39
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_moving_to_a_module_with_encoding_cookie(self):
     code1 = "# -*- coding: utf-8 -*-"
     self.mod1.write(code1)
     code2 = dedent("""\
         def f(): pass
     """)
     self.mod2.write(code2)
     mover = move.create_move(self.project, self.mod2,
                              code2.index("f()") + 1)
     self.project.do(mover.get_changes(self.mod1))
     expected = "%s\n%s" % (code1, code2)
     self.assertEqual(expected, self.mod1.read())
コード例 #40
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_moving_resources_using_move_module_for_packages(self):
     self.mod1.write(
         dedent("""\
             import pkg
             my_pkg = pkg"""))
     pkg2 = testutils.create_package(self.project, "pkg2")
     mover = move.create_move(self.project, self.pkg)
     mover.get_changes(pkg2).do()
     expected = dedent("""\
         import pkg2.pkg
         my_pkg = pkg2.pkg""")
     self.assertEqual(expected, self.mod1.read())
     self.assertTrue(pkg2.get_child("pkg") is not None)
コード例 #41
0
ファイル: movetest.py プロジェクト: climbus/rope
    def test_moving_module_refactoring_and_nonexistent_destinations(self):
        self.mod4.write("a_var = 1")
        self.mod2.write(
            dedent("""\
                from pkg import mod4
                import os


                print(mod4.a_var)
            """))
        with self.assertRaises(exceptions.RefactoringError):
            mover = move.create_move(self.project, self.mod4)
            mover.get_changes(None).do()
コード例 #42
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_methods_getting_getting_changes_for_goal_class3(self):
     self.mod2.write("class B(object):\n    pass\n")
     code = (
         "import mod2\n\n"
         "class A(object):\n"
         "    attr = mod2.B()\n"
         "    def a_method(self):\n"
         "        return 1\n"
     )
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1, code.index("a_method"))
     mover.get_changes("attr", "new_method").do()
     expected = "class B(object):\n\n" "    def new_method(self):\n" "        return 1\n"
     self.assertEquals(expected, self.mod2.read())
コード例 #43
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_globals_to_a_module_with_only_docstrings2(self):
     code = "import os\n" "import sys\n\n\n" "def f():\n" "    print(sys.version, os.path)\n"
     self.mod1.write(code)
     self.mod2.write('"""doc\n\nMore docs ...\n\n"""\n')
     mover = move.create_move(self.project, self.mod1, self.mod1.read().index("f()") + 1)
     self.project.do(mover.get_changes(self.mod2))
     expected = (
         '"""doc\n\nMore docs ...\n\n"""\n'
         "import os\n"
         "import sys\n\n\n"
         "def f():\n"
         "    print(sys.version, os.path)\n"
     )
     self.assertEquals(expected, self.mod2.read())
コード例 #44
0
ファイル: movetest.py プロジェクト: Cloudxtreme/rope
 def test_moving_methods_getting_getting_changes_for_goal_class2(self):
     code = 'class B(object):\n    var = 1\n\n' \
            'class A(object):\n    attr = B()\n' \
            '    def a_method(self):\n        return 1\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     mover.get_changes('attr', 'new_method').do()
     self.assertEquals(
         'class B(object):\n    var = 1\n\n\n'
         '    def new_method(self):\n'
         '        return 1\n\n'
         'class A(object):\n    attr = B()\n'
         '    def a_method(self):\n'
         '        return self.attr.new_method()\n', self.mod1.read())
コード例 #45
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_methods_getting_getting_changes_for_goal_class3(self):
     self.mod2.write('class B(object):\n    pass\n')
     code = 'import mod2\n\n' \
            'class A(object):\n' \
            '    attr = mod2.B()\n' \
            '    def a_method(self):\n' \
            '        return 1\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     mover.get_changes('attr', 'new_method').do()
     expected = 'class B(object):\n\n' \
                '    def new_method(self):\n' \
                '        return 1\n'
     self.assertEquals(expected, self.mod2.read())
コード例 #46
0
ファイル: movetest.py プロジェクト: Cloudxtreme/rope
 def test_moving_methods_getting_getting_changes_for_goal_class3(self):
     self.mod2.write('class B(object):\n    pass\n')
     code = 'import mod2\n\n' \
            'class A(object):\n' \
            '    attr = mod2.B()\n' \
            '    def a_method(self):\n' \
            '        return 1\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     mover.get_changes('attr', 'new_method').do()
     expected = 'class B(object):\n\n' \
                '    def new_method(self):\n' \
                '        return 1\n'
     self.assertEquals(expected, self.mod2.read())
コード例 #47
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_moving_methods_gettin_new_method_with_many_kinds_arguments(self):
     code = dedent("""\
         class A(object):
             attr = 1
             def a_method(self, p1, *args, **kwds):
                 return self.attr
     """)
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index("a_method"))
     expected = dedent("""\
         def new_method(self, host, p1, *args, **kwds):
             return host.attr
     """)
     self.assertEqual(expected, mover.get_new_method("new_method"))
コード例 #48
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_moving_resources_using_move_module_refactoring(self):
     self.mod1.write("a_var = 1")
     self.mod2.write(
         dedent("""\
             import mod1
             my_var = mod1.a_var
         """))
     mover = move.create_move(self.project, self.mod1)
     mover.get_changes(self.pkg).do()
     expected = dedent("""\
         import pkg.mod1
         my_var = pkg.mod1.a_var
     """)
     self.assertEqual(expected, self.mod2.read())
     self.assertTrue(self.pkg.get_child("mod1.py") is not None)
コード例 #49
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_methods_getting_getting_changes_for_goal_class2(self):
     code = 'class B(object):\n    var = 1\n\n' \
            'class A(object):\n    attr = B()\n' \
            '    def a_method(self):\n        return 1\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     mover.get_changes('attr', 'new_method').do()
     self.assertEquals(
         'class B(object):\n    var = 1\n\n\n'
         '    def new_method(self):\n'
         '        return 1\n\n'
         'class A(object):\n    attr = B()\n'
         '    def a_method(self):\n'
         '        return self.attr.new_method()\n',
         self.mod1.read())
コード例 #50
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_moving_module_and_star_imports(self):
     self.mod1.write("a_var = 1")
     self.mod2.write(
         dedent("""\
             from mod1 import *
             a = a_var
         """))
     mover = move.create_move(self.project, self.mod1)
     mover.get_changes(self.pkg).do()
     self.assertEqual(
         dedent("""\
             from pkg.mod1 import *
             a = a_var
         """),
         self.mod2.read(),
     )
コード例 #51
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_moving_methods_getting_new_method_for_constant_methods(self):
     code = dedent("""\
         class A(object):
             def a_method(self):
                 return 1
     """)
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index("a_method"))
     self.assertEqual(
         dedent("""\
             def new_method(self):
                 return 1
         """),
         mover.get_new_method("new_method"),
     )
コード例 #52
0
ファイル: movetest.py プロジェクト: Cloudxtreme/rope
 def test_moving_globals_to_a_module_with_only_docstrings2(self):
     code = 'import os\n' \
            'import sys\n\n\n' \
            'def f():\n' \
            '    print(sys.version, os.path)\n'
     self.mod1.write(code)
     self.mod2.write('"""doc\n\nMore docs ...\n\n"""\n')
     mover = move.create_move(self.project, self.mod1,
                              self.mod1.read().index('f()') + 1)
     self.project.do(mover.get_changes(self.mod2))
     expected = '"""doc\n\nMore docs ...\n\n"""\n' \
                'import os\n' \
                'import sys\n\n\n' \
                'def f():\n' \
                '    print(sys.version, os.path)\n'
     self.assertEquals(expected, self.mod2.read())
コード例 #53
0
ファイル: movetest.py プロジェクト: climbus/rope
 def test_moving_methods_getting_new_method_passing_simple_paremters(self):
     code = dedent("""\
         class A(object):
             def a_method(self, p):
                 return p
     """)
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index("a_method"))
     self.assertEqual(
         dedent("""\
             def new_method(self, p):
                 return p
         """),
         mover.get_new_method("new_method"),
     )
コード例 #54
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_methods_and_moving_used_imports(self):
     self.mod2.write('class B(object):\n    var = 1\n')
     code = 'import sys\nimport mod2\n\n' \
            'class A(object):\n' \
            '    attr = mod2.B()\n' \
            '    def a_method(self):\n' \
            '        return sys.version\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     mover.get_changes('attr', 'new_method').do()
     code = 'import sys\n' \
            'class B(object):\n' \
            '    var = 1\n\n\n' \
            '    def new_method(self):\n' \
            '        return sys.version\n'
     self.assertEquals(code, self.mod2.read())
コード例 #55
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_methods_getting_getting_changes_for_goal_class2(self):
     code = (
         "class B(object):\n    var = 1\n\n"
         "class A(object):\n    attr = B()\n"
         "    def a_method(self):\n        return 1\n"
     )
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1, code.index("a_method"))
     mover.get_changes("attr", "new_method").do()
     self.assertEquals(
         "class B(object):\n    var = 1\n\n\n"
         "    def new_method(self):\n"
         "        return 1\n\n"
         "class A(object):\n    attr = B()\n"
         "    def a_method(self):\n"
         "        return self.attr.new_method()\n",
         self.mod1.read(),
     )
コード例 #56
0
ファイル: movetest.py プロジェクト: Kha/rope
 def test_moving_methods_and_source_class_with_parameters(self):
     self.mod2.write('class B(object):\n    pass\n')
     code = 'import mod2\n\n' \
            'class A(object):\n' \
            '    attr = mod2.B()\n' \
            '    def a_method(self, p):\n        return p\n'
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1,
                              code.index('a_method'))
     mover.get_changes('attr', 'new_method').do()
     expected1 = 'import mod2\n\n' \
                 'class A(object):\n' \
                 '    attr = mod2.B()\n' \
                 '    def a_method(self, p):\n' \
                 '        return self.attr.new_method(p)\n'
     self.assertEquals(expected1, self.mod1.read())
     expected2 = 'class B(object):\n\n' \
                 '    def new_method(self, p):\n' \
                 '        return p\n'
     self.assertEquals(expected2, self.mod2.read())
コード例 #57
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_methods_and_moving_used_imports(self):
     self.mod2.write("class B(object):\n    var = 1\n")
     code = (
         "import sys\nimport mod2\n\n"
         "class A(object):\n"
         "    attr = mod2.B()\n"
         "    def a_method(self):\n"
         "        return sys.version\n"
     )
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1, code.index("a_method"))
     mover.get_changes("attr", "new_method").do()
     code = (
         "import sys\n"
         "class B(object):\n"
         "    var = 1\n\n\n"
         "    def new_method(self):\n"
         "        return sys.version\n"
     )
     self.assertEquals(code, self.mod2.read())
コード例 #58
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_moving_methods_and_source_class_with_parameters(self):
     self.mod2.write("class B(object):\n    pass\n")
     code = (
         "import mod2\n\n"
         "class A(object):\n"
         "    attr = mod2.B()\n"
         "    def a_method(self, p):\n        return p\n"
     )
     self.mod1.write(code)
     mover = move.create_move(self.project, self.mod1, code.index("a_method"))
     mover.get_changes("attr", "new_method").do()
     expected1 = (
         "import mod2\n\n"
         "class A(object):\n"
         "    attr = mod2.B()\n"
         "    def a_method(self, p):\n"
         "        return self.attr.new_method(p)\n"
     )
     self.assertEquals(expected1, self.mod1.read())
     expected2 = "class B(object):\n\n" "    def new_method(self, p):\n" "        return p\n"
     self.assertEquals(expected2, self.mod2.read())
コード例 #59
0
ファイル: refactor.py プロジェクト: exedre/elpy
 def refactor_move_module(self, new_name):
     """Move the current module."""
     refactor = create_move(self.project, self.resource)
     resource = path_to_resource(self.project, new_name)
     changes = refactor.get_changes(resource)
     return translate_changes(changes)
コード例 #60
0
ファイル: movetest.py プロジェクト: chiamingyen/kmol2016
 def test_raising_an_exception_when_moving_non_package_folders(self):
     dir = self.project.root.create_folder("dir")
     with self.assertRaises(exceptions.RefactoringError):
         move.create_move(self.project, dir)