From c9062abffb94a1248f5e63274ec0f5bae7948683 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 21 Apr 2010 20:24:49 +0400 Subject: [PATCH] big fix for completion of imported names (PY-866) --- .../jetbrains/python/psi/resolve/ResolveImportUtil.java | 2 +- python/testData/completion/importModule.after.py | 3 +++ python/testData/completion/importModule.py | 3 +++ python/testData/completion/someModule.py | 1 + .../testSrc/com/jetbrains/python/PythonCompletionTest.java | 7 +++++++ 5 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 python/testData/completion/importModule.after.py create mode 100644 python/testData/completion/importModule.py create mode 100644 python/testData/completion/someModule.py 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";