From b96424ae80c5ce47f699cc607eb0931d88978076 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 23 Sep 2010 13:56:10 +0400 Subject: [PATCH] fix regression in import completion (PY-1956) --- .../jetbrains/python/psi/resolve/VariantsProcessor.java | 2 +- python/testData/completion/importedModule.after.py | 3 +++ python/testData/completion/importedModule.py | 3 +++ .../com/jetbrains/python/PythonCompletionTest.java | 8 ++++++++ 4 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 python/testData/completion/importedModule.after.py create mode 100644 python/testData/completion/importedModule.py diff --git a/python/src/com/jetbrains/python/psi/resolve/VariantsProcessor.java b/python/src/com/jetbrains/python/psi/resolve/VariantsProcessor.java index 307f50c1c903..a7b494dab34b 100644 --- a/python/src/com/jetbrains/python/psi/resolve/VariantsProcessor.java +++ b/python/src/com/jetbrains/python/psi/resolve/VariantsProcessor.java @@ -103,7 +103,7 @@ public class VariantsProcessor implements PsiScopeProcessor { boolean handled_as_imported = false; if (element instanceof PyImportElement) { PyReferenceExpression ref = ((PyImportElement)element).getImportReference(); - if (ref != null) { + if (ref != null && ref.getQualifier() == null) { String name = ref.getName(); if (name != null && nameIsAcceptable(name)) { PsiElement resolved = ref.getReference().resolve(); diff --git a/python/testData/completion/importedModule.after.py b/python/testData/completion/importedModule.after.py new file mode 100644 index 000000000000..3096b67539b0 --- /dev/null +++ b/python/testData/completion/importedModule.after.py @@ -0,0 +1,3 @@ +import root.nested_mod + +root \ No newline at end of file diff --git a/python/testData/completion/importedModule.py b/python/testData/completion/importedModule.py new file mode 100644 index 000000000000..ee654da33b68 --- /dev/null +++ b/python/testData/completion/importedModule.py @@ -0,0 +1,3 @@ +import root.nested_mod + +roo \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/PythonCompletionTest.java b/python/testSrc/com/jetbrains/python/PythonCompletionTest.java index 8e5dbf61ac13..af7786863f13 100644 --- a/python/testSrc/com/jetbrains/python/PythonCompletionTest.java +++ b/python/testSrc/com/jetbrains/python/PythonCompletionTest.java @@ -221,4 +221,12 @@ public class PythonCompletionTest extends PyLightFixtureTestCase { myFixture.completeBasic(); myFixture.checkResultByFile(dirname + "importedFile.after.py"); } + + public void testImportedModule() { // PY-1956 + final String dirname = "completion/"; + myFixture.copyDirectoryToProject(dirname + "root", dirname + "root"); + myFixture.configureByFile(dirname + "importedModule.py"); + myFixture.completeBasic(); + myFixture.checkResultByFile(dirname + "importedModule.after.py"); + } } \ No newline at end of file