From 0af142edb313500e153082034e71541e09937499 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Wed, 26 Oct 2016 19:51:59 +0300 Subject: [PATCH] KT-14410 Autopopup completion is triggered in string literals for packages #KT-14410 Fixed --- .../testData/confidence/NoAutoPopupInString.kt | 4 ++++ .../test/confidence/KotlinConfidenceTest.java | 17 +++++++++++++++-- idea/src/META-INF/plugin.xml | 1 + 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 idea/idea-completion/testData/confidence/NoAutoPopupInString.kt diff --git a/idea/idea-completion/testData/confidence/NoAutoPopupInString.kt b/idea/idea-completion/testData/confidence/NoAutoPopupInString.kt new file mode 100644 index 00000000000..949fcc773a6 --- /dev/null +++ b/idea/idea-completion/testData/confidence/NoAutoPopupInString.kt @@ -0,0 +1,4 @@ +fun test() { + "a" +} + diff --git a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/confidence/KotlinConfidenceTest.java b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/confidence/KotlinConfidenceTest.java index f52899aa558..cbbf5b04b85 100644 --- a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/confidence/KotlinConfidenceTest.java +++ b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/confidence/KotlinConfidenceTest.java @@ -20,6 +20,7 @@ import com.intellij.codeInsight.CodeInsightSettings; import com.intellij.codeInsight.completion.CodeCompletionHandlerBase; import com.intellij.codeInsight.completion.CompletionType; import com.intellij.codeInsight.completion.LightCompletionTestCase; +import com.intellij.codeInsight.lookup.impl.LookupImpl; import com.intellij.openapi.projectRoots.JavaSdk; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.util.text.StringUtil; @@ -55,6 +56,10 @@ public class KotlinConfidenceTest extends LightCompletionTestCase { doTest(); } + public void testNoAutoPopupInString() { + doTest(); + } + @Override protected void setUp() throws Exception { super.setUp(); @@ -78,8 +83,15 @@ public class KotlinConfidenceTest extends LightCompletionTestCase { try { configureByFile(getBeforeFileName()); - type(getTypeTextFromFile()); - checkResultByFile(getAfterFileName()); + String typeText = getTypeTextFromFile(); + if (typeText != null) { + type(typeText); + checkResultByFile(getAfterFileName()); + } + else { + LookupImpl lookup = getLookup(); + assertNull("No completion auto-popup expected", lookup); + } } finally { CodeInsightSettings.getInstance().SELECT_AUTOPOPUP_SUGGESTIONS_BY_CHARS = completeByChars; @@ -90,6 +102,7 @@ public class KotlinConfidenceTest extends LightCompletionTestCase { String text = getEditor().getDocument().getText(); String[] directives = InTextDirectivesUtils.findArrayWithPrefixes(text, TYPE_DIRECTIVE_PREFIX); + if (directives.length == 0) return null; assertEquals("One directive with \"" + TYPE_DIRECTIVE_PREFIX +"\" expected", 1, directives.length); return StringUtil.unquoteString(directives[0]); diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index 4700869f3cf..62e91d7db62 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -408,6 +408,7 @@ +