From 77e48fcd95602a5ae5c10d360e5600e9f1df3b47 Mon Sep 17 00:00:00 2001 From: David Halter Date: Tue, 16 Oct 2012 12:00:11 +0200 Subject: [PATCH] better care for aliases in imports in jedi-vim issue 8 --- jedi/api.py | 2 ++ test/regression.py | 13 ++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/jedi/api.py b/jedi/api.py index ff7b41e8..a6a1c6eb 100644 --- a/jedi/api.py +++ b/jedi/api.py @@ -448,6 +448,8 @@ class Script(object): kill_count = -1 cur_name_part = None for i in import_names: + if user_stmt.alias == i: + continue for name_part in i.names: if name_part.end_pos >= self.pos: if not cur_name_part: diff --git a/test/regression.py b/test/regression.py index def39e81..dcd35a03 100755 --- a/test/regression.py +++ b/test/regression.py @@ -106,13 +106,6 @@ class TestRegression(unittest.TestCase): assert 10 < len(self.complete("from . import", (1, 5))) < 30 assert 10 < len(self.complete("from . import classes", (1, 5))) < 30 - def test_new(self): - """ This is just to try out things, removing or deleting it is ok. """ - s = ("def abc(): pass\n" - "abc.d.a.abc.d" - ) - api.Script(s, 2, 2, '/').related_names() - def test_get_in_function_call(self): def check(call_def, name, index): return call_def and call_def.call_name == name \ @@ -178,6 +171,12 @@ class TestRegression(unittest.TestCase): assert len(result) == 1 assert result[0].description == 'class int' + def test_named_import(self): + """ named import - jedi-vim issue #8 """ + s = "import datetime as dt" + assert len(api.Script(s, 1, 19, '/').get_definition()) == 1 + assert len(api.Script(s, 1, 10, '/').get_definition()) == 1 + if __name__ == '__main__': unittest.main()