diff --git a/test/refactor.py b/test/refactor.py index b76b5562..e8db9e1b 100644 --- a/test/refactor.py +++ b/test/refactor.py @@ -16,14 +16,13 @@ from .helpers import test_dir class RefactoringCase(object): - def __init__(self, name, code, line_nr, index, path, - args, desired_diff): + def __init__(self, name, code, line_nr, index, path, kwargs, desired_diff): self.name = name self._code = code self._line_nr = line_nr self._index = index self._path = path - self._args = args + self._kwargs = kwargs self.desired_diff = desired_diff @property @@ -35,7 +34,7 @@ class RefactoringCase(object): project = jedi.Project(os.path.join(test_dir, 'refactor')) script = jedi.Script(self._code, path=self._path, project=project) refactor_func = getattr(script, self.refactor_type) - refactor_object = refactor_func(self._line_nr, self._index, *self._args) + refactor_object = refactor_func(self._line_nr, self._index, **self._kwargs) return refactor_object.get_diff() def __repr__(self): @@ -58,14 +57,13 @@ def _collect_file_tests(code, path, lines_to_execute): continue until = p.group(1) index = int(p.group(2)) - new_name = p.group(3) - args = (new_name,) if new_name else () + kwargs = eval(p.group(3)) line_nr = until.count('\n') + 2 if lines_to_execute and line_nr - 1 not in lines_to_execute: continue - yield RefactoringCase(name, first, line_nr, index, path, args, second) + yield RefactoringCase(name, first, line_nr, index, path, kwargs, second) def collect_dir_tests(base_dir, test_files): diff --git a/test/refactor/rename.py b/test/refactor/rename.py index 22a5388c..6926b524 100644 --- a/test/refactor/rename.py +++ b/test/refactor/rename.py @@ -5,7 +5,7 @@ Test coverage for renaming is mostly being done by testing # -------------------------------------------------- simple def test1(): - #? 7 blabla + #? 7 {'new_name': 'blabla'} test1() AssertionError return test1, test1.not_existing @@ -15,7 +15,7 @@ def test1(): @@ -1,6 +1,6 @@ -def test1(): +def blabla(): - #? 7 blabla + #? 7 {'new_name': 'blabla'} - test1() + blabla() AssertionError @@ -23,19 +23,19 @@ def test1(): + return blabla, blabla.not_existing # -------------------------------------------------- var-not-found undefined_var -#? 0 lala +#? 0 {'new_name': 'lala'} undefined_var # ++++++++++++++++++++++++++++++++++++++++++++++++++ --- /home/dave/source/jedi/test/refactor/rename.py +++ /home/dave/source/jedi/test/refactor/rename.py @@ -1,4 +1,4 @@ undefined_var - #? 0 lala + #? 0 {'new_name': 'lala'} -undefined_var +lala # -------------------------------------------------- different-scopes def x(): - #? 7 v + #? 7 {'new_name': 'v'} some_var = 3 some_var def y(): @@ -46,7 +46,7 @@ def y(): +++ /home/dave/source/jedi/test/refactor/rename.py @@ -1,7 +1,7 @@ def x(): - #? 7 v + #? 7 {'new_name': 'v'} - some_var = 3 - some_var + v = 3 @@ -55,7 +55,7 @@ def y(): some_var = 3 some_var # -------------------------------------------------- keyword-param1 -#? 22 lala +#? 22 {'new_name': 'lala'} def mykeywordparam1(param1): str(param1) mykeywordparam1(1) @@ -65,7 +65,7 @@ mykeywordparam1(x, param1=2) --- /home/dave/source/jedi/test/refactor/rename.py +++ /home/dave/source/jedi/test/refactor/rename.py @@ -1,7 +1,7 @@ - #? 22 lala + #? 22 {'new_name': 'lala'} -def mykeywordparam1(param1): - str(param1) +def mykeywordparam1(lala): @@ -80,7 +80,7 @@ def mykeywordparam2(param1): str(param1) mykeywordparam2(1) mykeywordparam2(param1=3) -#? 22 lala +#? 22 {'new_name': 'lala'} mykeywordparam2(x, param1=2) # ++++++++++++++++++++++++++++++++++++++++++++++++++ --- /home/dave/source/jedi/test/refactor/rename.py @@ -93,12 +93,12 @@ mykeywordparam2(x, param1=2) mykeywordparam2(1) -mykeywordparam2(param1=3) +mykeywordparam2(lala=3) - #? 22 lala + #? 22 {'new_name': 'lala'} -mykeywordparam2(x, param1=2) +mykeywordparam2(x, lala=2) # -------------------------------------------------- import from import_tree.some_mod import foobar -#? 0 renamed +#? 0 {'new_name': 'renamed'} foobar # ++++++++++++++++++++++++++++++++++++++++++++++++++ --- /home/dave/source/jedi/test/refactor/import_tree/some_mod.py @@ -111,12 +111,12 @@ foobar @@ -1,4 +1,4 @@ -from import_tree.some_mod import foobar +from import_tree.some_mod import renamed - #? 0 renamed + #? 0 {'new_name': 'renamed'} -foobar +renamed # -------------------------------------------------- module from import_tree import some_mod -#? 0 renamedm +#? 0 {'new_name': 'renamedm'} some_mod # ++++++++++++++++++++++++++++++++++++++++++++++++++ rename from /home/dave/source/jedi/test/refactor/import_tree/some_mod.py @@ -126,24 +126,24 @@ rename to /home/dave/source/jedi/test/refactor/import_tree/renamedm.py @@ -1,4 +1,4 @@ -from import_tree import some_mod +from import_tree import renamedm - #? 0 renamedm + #? 0 {'new_name': 'renamedm'} -some_mod +renamedm # -------------------------------------------------- import-not-found -#? 20 lala +#? 20 {'new_name': 'lala'} import undefined_import haha( undefined_import) # ++++++++++++++++++++++++++++++++++++++++++++++++++ --- /home/dave/source/jedi/test/refactor/rename.py +++ /home/dave/source/jedi/test/refactor/rename.py @@ -1,4 +1,4 @@ - #? 20 lala + #? 20 {'new_name': 'lala'} -import undefined_import -haha( undefined_import) +import lala +haha( lala) # -------------------------------------------------- in-package-with-stub -#? 31 renamedm +#? 31 {'new_name': 'renamedm'} from import_tree.pkgx import pkgx # ++++++++++++++++++++++++++++++++++++++++++++++++++ --- /home/dave/source/jedi/test/refactor/import_tree/pkgx/__init__.py @@ -165,11 +165,11 @@ from import_tree.pkgx import pkgx --- /home/dave/source/jedi/test/refactor/rename.py +++ /home/dave/source/jedi/test/refactor/rename.py @@ -1,3 +1,3 @@ - #? 31 renamedm + #? 31 {'new_name': 'renamedm'} -from import_tree.pkgx import pkgx +from import_tree.pkgx import renamedm # -------------------------------------------------- package-with-stub -#? 18 renamedp +#? 18 {'new_name': 'renamedp'} from import_tree.pkgx # ++++++++++++++++++++++++++++++++++++++++++++++++++ rename from /home/dave/source/jedi/test/refactor/import_tree/pkgx @@ -182,7 +182,7 @@ rename to /home/dave/source/jedi/test/refactor/import_tree/renamedp --- /home/dave/source/jedi/test/refactor/rename.py +++ /home/dave/source/jedi/test/refactor/rename.py @@ -1,3 +1,3 @@ - #? 18 renamedp + #? 18 {'new_name': 'renamedp'} -from import_tree.pkgx +from import_tree.renamedp # -------------------------------------------------- weird-package-mix @@ -190,7 +190,7 @@ if random_undefined_variable: from import_tree.pkgx import pkgx else: from import_tree import pkgx -#? 4 rename +#? 4 {'new_name': 'rename'} pkgx # ++++++++++++++++++++++++++++++++++++++++++++++++++ rename from /home/dave/source/jedi/test/refactor/import_tree/pkgx @@ -225,6 +225,6 @@ rename to /home/dave/source/jedi/test/refactor/import_tree/rename else: - from import_tree import pkgx + from import_tree import rename - #? 4 rename + #? 4 {'new_name': 'rename'} -pkgx +rename