diff --git a/python/src/com/jetbrains/python/psi/resolve/ResolveImportUtil.java b/python/src/com/jetbrains/python/psi/resolve/ResolveImportUtil.java index 20585e0262b5..3602693a0756 100644 --- a/python/src/com/jetbrains/python/psi/resolve/ResolveImportUtil.java +++ b/python/src/com/jetbrains/python/psi/resolve/ResolveImportUtil.java @@ -93,7 +93,7 @@ public class ResolveImportUtil { return null; } - final PsiFile file = import_element.getContainingFile(); + final PsiFile file = import_element.getContainingFile().getOriginalFile(); final PyStatement importStatement = import_element.getContainingImportStatement(); boolean absolute_import_enabled = isAbsoluteImportEnabledFor(import_element); diff --git a/python/testData/completion/importModule.after.py b/python/testData/completion/importModule.after.py new file mode 100644 index 000000000000..9065db9c8642 --- /dev/null +++ b/python/testData/completion/importModule.after.py @@ -0,0 +1,3 @@ +import someModule + +class C(someModule.Xyzzy): pass diff --git a/python/testData/completion/importModule.py b/python/testData/completion/importModule.py new file mode 100644 index 000000000000..df2a7deffbe6 --- /dev/null +++ b/python/testData/completion/importModule.py @@ -0,0 +1,3 @@ +import someModule + +class C(someModule.Xy): pass diff --git a/python/testData/completion/someModule.py b/python/testData/completion/someModule.py new file mode 100644 index 000000000000..bb8b03c8703f --- /dev/null +++ b/python/testData/completion/someModule.py @@ -0,0 +1 @@ +class Xyzzy: pass diff --git a/python/testSrc/com/jetbrains/python/PythonCompletionTest.java b/python/testSrc/com/jetbrains/python/PythonCompletionTest.java index 7877f94df021..0f3023400bc4 100644 --- a/python/testSrc/com/jetbrains/python/PythonCompletionTest.java +++ b/python/testSrc/com/jetbrains/python/PythonCompletionTest.java @@ -79,6 +79,13 @@ public class PythonCompletionTest extends PyLightFixtureTestCase { doTest(); } + public void testImportModule() throws Exception { + final String testName = "completion/" + getTestName(true); + myFixture.configureByFiles(testName + ".py", "completion/someModule.py"); + myFixture.completeBasic(); + myFixture.checkResultByFile(testName + ".after.py"); + } + public void testPy255() throws Exception { final String dirname = "completion/"; final String testName = dirname + "moduleClass";