diff --git a/python/src/com/jetbrains/python/codeInsight/imports/ImportFromExistingAction.java b/python/src/com/jetbrains/python/codeInsight/imports/ImportFromExistingAction.java index f1367da6ecac..d539ab752c69 100644 --- a/python/src/com/jetbrains/python/codeInsight/imports/ImportFromExistingAction.java +++ b/python/src/com/jetbrains/python/codeInsight/imports/ImportFromExistingAction.java @@ -144,8 +144,8 @@ public class ImportFromExistingAction implements QuestionAction { PsiElement parent = src.getParent(); if (parent instanceof PyFromImportStatement) { // add another import element right after the one we got - PsiElement new_elt = gen.createImportElement(myName); - PyUtil.addListNode(parent, new_elt, null, false, true); + PsiElement newImportElement = gen.createImportElement(myName); + parent.add(newImportElement); } else { // just 'import' // all we need is to qualify our target diff --git a/python/testData/addImport/parens.after.py b/python/testData/addImport/parens.after.py new file mode 100644 index 000000000000..a0cbbc1485e7 --- /dev/null +++ b/python/testData/addImport/parens.after.py @@ -0,0 +1 @@ +from urllib import (urlopen, urlencode, unquote_plus) \ No newline at end of file diff --git a/python/testData/addImport/parens.py b/python/testData/addImport/parens.py new file mode 100644 index 000000000000..30c7b0de9a19 --- /dev/null +++ b/python/testData/addImport/parens.py @@ -0,0 +1 @@ +from urllib import (urlopen, urlencode) \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/PyAddImportTest.java b/python/testSrc/com/jetbrains/python/PyAddImportTest.java index 4f84b0593b8d..e8bc09255db0 100644 --- a/python/testSrc/com/jetbrains/python/PyAddImportTest.java +++ b/python/testSrc/com/jetbrains/python/PyAddImportTest.java @@ -19,4 +19,15 @@ public class PyAddImportTest extends PyTestCase { }.execute(); myFixture.checkResultByFile("addImport/addBuiltin.after.py"); } + + public void testImportInParens() { // PY-7400 + myFixture.configureByFile("addImport/parens.py"); + new WriteCommandAction(myFixture.getProject(), myFixture.getFile()) { + @Override + protected void run(Result result) throws Throwable { + AddImportHelper.addImportFrom(myFixture.getFile(), null, "urllib", "unquote_plus", null, AddImportHelper.ImportPriority.BUILTIN); + } + }.execute(); + myFixture.checkResultByFile("addImport/parens.after.py"); + } }