From 384334ae064af6ca5a0a75c49b1f8b4cb3383b28 Mon Sep 17 00:00:00 2001 From: David Halter Date: Sun, 19 May 2013 20:40:54 +0430 Subject: [PATCH] goto on import statement (only import) raised an error --- jedi/api.py | 3 ++- test/test_regression.py | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/jedi/api.py b/jedi/api.py index 5d2095e4..05eb60d9 100644 --- a/jedi/api.py +++ b/jedi/api.py @@ -342,7 +342,8 @@ class Script(object): :rtype: list of :class:`api_classes.Definition` """ - d = [api_classes.Definition(d) for d in set(self._goto()[0])] + d = [api_classes.Definition(d) for d in set(self._goto()[0]) + if not isinstance(d, imports.ImportPath._GlobalNamespace)] return self._sorted_defs(d) def _goto(self, add_import_name=False): diff --git a/test/test_regression.py b/test/test_regression.py index bf80dc8b..7ed276ac 100755 --- a/test/test_regression.py +++ b/test/test_regression.py @@ -314,14 +314,16 @@ class TestRegression(TestBase): types = [o.type for o in objs] assert 'import' not in types and 'class' in types - def test_keyword_definition_doc(self): + def test_keyword(self): """ github jedi-vim issue #44 """ defs = self.goto_definitions("print") assert [d.doc for d in defs] defs = self.goto_definitions("import") - assert len(defs) == 1 - assert [d.doc for d in defs] + assert len(defs) == 1 and [1 for d in defs if d.doc] + # unrelated to #44 + defs = self.goto_assignments("import") + assert len(defs) == 0 def test_goto_following_on_imports(self): s = "import multiprocessing.dummy; multiprocessing.dummy"