From e6ea0537c8c81ea1b69b42dfad8a5e1af44ddd23 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Fri, 19 Sep 2014 21:31:50 +0400 Subject: [PATCH] More correct completion testing + fixed small bug in keyword completion --- .../plugin/completion/KeywordCompletion.kt | 2 +- .../common/NoAutoPopupInValName.kt} | 1 + .../basic/common/NoAutopopupInFunName.kt | 4 ++ .../common/NoAutopopupInVarName.kt} | 1 + .../completion/keywords/InBlockComment.kt | 2 +- idea/testData/completion/keywords/InChar.kt | 2 +- .../completion/keywords/InClassBeforeFun.kt | 2 - .../completion/keywords/InClassScope.kt | 2 - .../completion/keywords/InFunctionScope.kt | 1 - .../keywords/InMethodParametersList.kt | 1 - .../completion/keywords/InParametersList.kt | 1 - idea/testData/completion/keywords/InString.kt | 2 +- .../completion/keywords/InTypeScope.kt | 1 - .../completion/keywords/LineComment.kt | 2 +- ...actCompiledKotlinInJavaCompletionTest.java | 6 +-- .../AbstractJSBasicCompletionTest.java | 6 ++- .../AbstractJvmBasicCompletionTest.java | 6 ++- .../AbstractJvmSmartCompletionTest.java | 6 ++- ...AbstractJvmWithLibBasicCompletionTest.java | 6 ++- .../AbstractKeywordCompletionTest.java | 40 ------------------- .../AbstractKeywordCompletionTest.kt | 37 +++++++++++++++++ ...tractKotlinSourceInJavaCompletionTest.java | 6 +-- ...stractMultiFileJvmBasicCompletionTest.java | 2 +- .../jet/completion/CompletionTestUtil.kt | 4 +- .../JSBasicCompletionTestGenerated.java | 23 +++++++++-- .../JetFixtureCompletionBaseTestCase.java | 36 ++++++++--------- .../JvmBasicCompletionTestGenerated.java | 23 ++++++++++- .../KeywordCompletionTestGenerated.java | 12 ------ 28 files changed, 131 insertions(+), 106 deletions(-) rename idea/testData/completion/{keywords/InFunctionNoCompletionInValName.kt => basic/common/NoAutoPopupInValName.kt} (83%) create mode 100644 idea/testData/completion/basic/common/NoAutopopupInFunName.kt rename idea/testData/completion/{keywords/InTopNoCompletionInVarName.kt => basic/common/NoAutopopupInVarName.kt} (80%) delete mode 100644 idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.java create mode 100644 idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.kt diff --git a/idea/src/org/jetbrains/jet/plugin/completion/KeywordCompletion.kt b/idea/src/org/jetbrains/jet/plugin/completion/KeywordCompletion.kt index 59f152344f1..57a8024c8ec 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/KeywordCompletion.kt +++ b/idea/src/org/jetbrains/jet/plugin/completion/KeywordCompletion.kt @@ -120,7 +120,7 @@ class KeywordCompletion { add(JetTokens.OUT_KEYWORD, InTypeParameterFirstChildFilter) - add(JetTokens.OBJECT_KEYWORD, inNonClassBlock, AfterClassInClassBodyFilter) + add(JetTokens.OBJECT_KEYWORD, inNonClassBlock, inClassBody, AfterClassInClassBodyFilter) add(JetTokens.ELSE_KEYWORD, inNonClassBlock, inPropertyBody) add(JetTokens.IF_KEYWORD, inNonClassBlock, inPropertyBody) diff --git a/idea/testData/completion/keywords/InFunctionNoCompletionInValName.kt b/idea/testData/completion/basic/common/NoAutoPopupInValName.kt similarity index 83% rename from idea/testData/completion/keywords/InFunctionNoCompletionInValName.kt rename to idea/testData/completion/basic/common/NoAutoPopupInValName.kt index bc452017e7c..a4c5d06b2ca 100644 --- a/idea/testData/completion/keywords/InFunctionNoCompletionInValName.kt +++ b/idea/testData/completion/basic/common/NoAutoPopupInValName.kt @@ -2,6 +2,7 @@ fun test() { val } +// INVOCATION_COUNT: 0 // NUMBER: 0 /* KT-4158 Type "var i" and press space. "var if" is auto-inserted. */ diff --git a/idea/testData/completion/basic/common/NoAutopopupInFunName.kt b/idea/testData/completion/basic/common/NoAutopopupInFunName.kt new file mode 100644 index 00000000000..b936fd5f832 --- /dev/null +++ b/idea/testData/completion/basic/common/NoAutopopupInFunName.kt @@ -0,0 +1,4 @@ +fun f + +// INVOCATION_COUNT: 0 +// NUMBER: 0 diff --git a/idea/testData/completion/keywords/InTopNoCompletionInVarName.kt b/idea/testData/completion/basic/common/NoAutopopupInVarName.kt similarity index 80% rename from idea/testData/completion/keywords/InTopNoCompletionInVarName.kt rename to idea/testData/completion/basic/common/NoAutopopupInVarName.kt index a17f27c1dab..9baed57e43f 100644 --- a/idea/testData/completion/keywords/InTopNoCompletionInVarName.kt +++ b/idea/testData/completion/basic/common/NoAutopopupInVarName.kt @@ -1,5 +1,6 @@ var +// INVOCATION_COUNT: 0 // NUMBER: 0 /* KT-4158 Type "var i" and press space. "var if" is auto-inserted. */ \ No newline at end of file diff --git a/idea/testData/completion/keywords/InBlockComment.kt b/idea/testData/completion/keywords/InBlockComment.kt index 9f753c135e1..742c3e61e07 100644 --- a/idea/testData/completion/keywords/InBlockComment.kt +++ b/idea/testData/completion/keywords/InBlockComment.kt @@ -5,7 +5,7 @@ class TestClass { } // ABSENT: abstract, annotation, as, break, by, catch, class, continue, default, do -// ABSENT: else, enum, false, final, finally, for, fun, get, if, import, in, inline +// ABSENT: else, enum, false, final, finally, for, fun, get, if, import, in // ABSENT: internal, is, null, object, open, out, override, package, private, protected, public // ABSENT: ref, return, set, super, This, this, throw, trait, true, try, type, val, var // ABSENT: vararg, when, where, while \ No newline at end of file diff --git a/idea/testData/completion/keywords/InChar.kt b/idea/testData/completion/keywords/InChar.kt index 8277e8f3333..a31b31b4e53 100644 --- a/idea/testData/completion/keywords/InChar.kt +++ b/idea/testData/completion/keywords/InChar.kt @@ -5,7 +5,7 @@ class TestClass { } // ABSENT: abstract, annotation, as, break, by, catch, class, continue, default, do -// ABSENT: else, enum, false, final, finally, for, fun, get, if, import, in, inline +// ABSENT: else, enum, false, final, finally, for, fun, get, if, import, in // ABSENT: internal, is, null, object, open, out, override, package, private, protected, public // ABSENT: ref, return, set, super, This, this, throw, trait, true, try, type, val, var // ABSENT: vararg, when, where, while \ No newline at end of file diff --git a/idea/testData/completion/keywords/InClassBeforeFun.kt b/idea/testData/completion/keywords/InClassBeforeFun.kt index ab93bf8406b..acfa7f8754d 100644 --- a/idea/testData/completion/keywords/InClassBeforeFun.kt +++ b/idea/testData/completion/keywords/InClassBeforeFun.kt @@ -7,8 +7,6 @@ public class Test { } } -// INVOCATION_COUNT: 1 - // EXIST: abstract /* // ABSENT: annotation */ // ABSENT: as diff --git a/idea/testData/completion/keywords/InClassScope.kt b/idea/testData/completion/keywords/InClassScope.kt index 672b8d8d089..cdb16d13a23 100644 --- a/idea/testData/completion/keywords/InClassScope.kt +++ b/idea/testData/completion/keywords/InClassScope.kt @@ -2,8 +2,6 @@ class TestClass { } -// INVOCATION_COUNT: 1 - // EXIST: abstract // ABSENT: annotation // ABSENT: as diff --git a/idea/testData/completion/keywords/InFunctionScope.kt b/idea/testData/completion/keywords/InFunctionScope.kt index 3215ced8ebc..db7f2ca5f09 100644 --- a/idea/testData/completion/keywords/InFunctionScope.kt +++ b/idea/testData/completion/keywords/InFunctionScope.kt @@ -22,7 +22,6 @@ fun foo() { // EXIST: if // ABSENT: import // EXIST: in -// EXIST: inline // EXIST: internal // EXIST: is // EXIST: null diff --git a/idea/testData/completion/keywords/InMethodParametersList.kt b/idea/testData/completion/keywords/InMethodParametersList.kt index 45e2d3900dc..ea5be921211 100644 --- a/idea/testData/completion/keywords/InMethodParametersList.kt +++ b/idea/testData/completion/keywords/InMethodParametersList.kt @@ -25,7 +25,6 @@ class TestSample() { // ABSENT: if // ABSENT: import // ABSENT: in -// ABSENT: inline // ABSENT: internal // ABSENT: is // ABSENT: null diff --git a/idea/testData/completion/keywords/InParametersList.kt b/idea/testData/completion/keywords/InParametersList.kt index 3721eb6e546..42220a88a1f 100644 --- a/idea/testData/completion/keywords/InParametersList.kt +++ b/idea/testData/completion/keywords/InParametersList.kt @@ -22,7 +22,6 @@ fun test() { // ABSENT: if // ABSENT: import // ABSENT: in -// ABSENT: inline // ABSENT: internal // ABSENT: is // ABSENT: null diff --git a/idea/testData/completion/keywords/InString.kt b/idea/testData/completion/keywords/InString.kt index 3dacac7d2f3..c8266dbffa3 100644 --- a/idea/testData/completion/keywords/InString.kt +++ b/idea/testData/completion/keywords/InString.kt @@ -5,7 +5,7 @@ class TestClass { } // ABSENT: abstract, annotation, as, break, by, catch, class, continue, default, do -// ABSENT: else, enum, false, final, finally, for, fun, get, if, import, in, inline +// ABSENT: else, enum, false, final, finally, for, fun, get, if, import, in // ABSENT: internal, is, null, object, open, out, override, package, private, protected, public // ABSENT: ref, return, set, super, This, this, throw, trait, true, try, type, val, var // ABSENT: vararg, when, where, while \ No newline at end of file diff --git a/idea/testData/completion/keywords/InTypeScope.kt b/idea/testData/completion/keywords/InTypeScope.kt index a4a384eeb64..084476efdd1 100644 --- a/idea/testData/completion/keywords/InTypeScope.kt +++ b/idea/testData/completion/keywords/InTypeScope.kt @@ -22,7 +22,6 @@ fun foo() { // EXIST: if // ABSENT: import // EXIST: in -// EXIST: inline // EXIST: internal // EXIST: is // EXIST: null diff --git a/idea/testData/completion/keywords/LineComment.kt b/idea/testData/completion/keywords/LineComment.kt index 270fd6fb843..00b65b0328e 100644 --- a/idea/testData/completion/keywords/LineComment.kt +++ b/idea/testData/completion/keywords/LineComment.kt @@ -3,7 +3,7 @@ class TestClass { } // ABSENT: abstract, annotation, as, break, by, catch, class, continue, default, do -// ABSENT: else, enum, false, final, finally, for, fun, get, if, import, in, inline +// ABSENT: else, enum, false, final, finally, for, fun, get, if, import, in // ABSENT: internal, is, null, object, open, out, override, package, private, protected, public // ABSENT: ref, return, set, super, This, this, throw, trait, true, try, type, val, var // ABSENT: vararg, when, where, while \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractCompiledKotlinInJavaCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractCompiledKotlinInJavaCompletionTest.java index 510f52ac6ac..c37726163bf 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractCompiledKotlinInJavaCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractCompiledKotlinInJavaCompletionTest.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.completion; import com.intellij.codeInsight.completion.CompletionType; +import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.testFramework.LightProjectDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.JdkAndMockLibraryProjectDescriptor; @@ -35,9 +36,8 @@ public abstract class AbstractCompiledKotlinInJavaCompletionTest extends JetFixt return new JdkAndMockLibraryProjectDescriptor(PluginTestCaseBase.getTestDataPathBase() + "/completion/injava/mockLib", false); } - @NotNull @Override - protected CompletionType completionType() { - return CompletionType.BASIC; + protected LookupElement[] complete(int invocationCount) { + return myFixture.complete(CompletionType.BASIC, invocationCount); } } diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractJSBasicCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractJSBasicCompletionTest.java index 5dbc0d33af5..4bf9933f472 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractJSBasicCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractJSBasicCompletionTest.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.completion; import com.intellij.codeInsight.completion.CompletionType; +import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.testFramework.LightProjectDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.JetStdJSProjectDescriptor; @@ -34,7 +35,8 @@ public abstract class AbstractJSBasicCompletionTest extends JetFixtureCompletion return TargetPlatform.JS; } - @NotNull @Override - protected CompletionType completionType() { return CompletionType.BASIC; } + protected LookupElement[] complete(int invocationCount) { + return myFixture.complete(CompletionType.BASIC, invocationCount); + } } diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractJvmBasicCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractJvmBasicCompletionTest.java index 7fc84e80199..a4751d18516 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractJvmBasicCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractJvmBasicCompletionTest.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.completion; import com.intellij.codeInsight.completion.CompletionType; +import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.testFramework.LightProjectDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.JetWithJdkAndRuntimeLightProjectDescriptor; @@ -34,7 +35,8 @@ public abstract class AbstractJvmBasicCompletionTest extends JetFixtureCompletio return TargetPlatform.JVM; } - @NotNull @Override - protected CompletionType completionType() { return CompletionType.BASIC; } + protected LookupElement[] complete(int invocationCount) { + return myFixture.complete(CompletionType.BASIC, invocationCount); + } } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractJvmSmartCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractJvmSmartCompletionTest.java index b5fe9f5a7b3..cb743cc7b5e 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractJvmSmartCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractJvmSmartCompletionTest.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.completion; import com.intellij.codeInsight.completion.CompletionType; +import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.testFramework.LightProjectDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.JetWithJdkAndRuntimeLightProjectDescriptor; @@ -34,7 +35,8 @@ public abstract class AbstractJvmSmartCompletionTest extends JetFixtureCompletio return TargetPlatform.JVM; } - @NotNull @Override - protected CompletionType completionType() { return CompletionType.SMART; } + protected LookupElement[] complete(int invocationCount) { + return myFixture.complete(CompletionType.SMART, invocationCount); + } } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractJvmWithLibBasicCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractJvmWithLibBasicCompletionTest.java index d2a6030bac8..34e8d3a29a5 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractJvmWithLibBasicCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractJvmWithLibBasicCompletionTest.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.completion; import com.intellij.codeInsight.completion.CompletionType; +import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.testFramework.LightProjectDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.JdkAndMockLibraryProjectDescriptor; @@ -40,7 +41,8 @@ public abstract class AbstractJvmWithLibBasicCompletionTest extends JetFixtureCo return TargetPlatform.JVM; } - @NotNull @Override - protected CompletionType completionType() { return CompletionType.BASIC; } + protected LookupElement[] complete(int invocationCount) { + return myFixture.complete(CompletionType.BASIC, invocationCount); + } } diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.java deleted file mode 100644 index b0e8893b93a..00000000000 --- a/idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2010-2013 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.jet.completion; - -import com.intellij.codeInsight.completion.CompletionType; -import com.intellij.testFramework.LightProjectDescriptor; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.plugin.JetLightProjectDescriptor; -import org.jetbrains.jet.plugin.project.TargetPlatform; - -public abstract class AbstractKeywordCompletionTest extends JetFixtureCompletionBaseTestCase { - @Override - public TargetPlatform getPlatform() { - return TargetPlatform.JVM; - } - - @NotNull - @Override - protected CompletionType completionType() { return CompletionType.BASIC; } - - @NotNull - @Override - protected LightProjectDescriptor getProjectDescriptor() { - return JetLightProjectDescriptor.INSTANCE; - } -} diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.kt b/idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.kt new file mode 100644 index 00000000000..2df02162092 --- /dev/null +++ b/idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.kt @@ -0,0 +1,37 @@ +/* + * Copyright 2010-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet.completion + +import com.intellij.codeInsight.completion.CompletionType +import com.intellij.codeInsight.lookup.LookupElement +import org.jetbrains.jet.plugin.JetLightProjectDescriptor +import org.jetbrains.jet.plugin.completion.KeywordLookupObject +import org.jetbrains.jet.plugin.project.TargetPlatform + +public abstract class AbstractKeywordCompletionTest : JetFixtureCompletionBaseTestCase() { + override fun getPlatform() = TargetPlatform.JVM + + override fun complete(invocationCount: Int): Array? { + val items = myFixture.complete(CompletionType.BASIC) + if (items == null) return null + return items.filter { it.getObject() is KeywordLookupObject }.copyToArray() + } + + override fun getProjectDescriptor() = JetLightProjectDescriptor.INSTANCE + + override fun defaultInvocationCount() = 1 +} diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractKotlinSourceInJavaCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractKotlinSourceInJavaCompletionTest.java index 66d6f42e287..983924863fa 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractKotlinSourceInJavaCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractKotlinSourceInJavaCompletionTest.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.completion; import com.intellij.codeInsight.completion.CompletionType; +import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.openapi.util.io.FileUtil; import com.intellij.testFramework.LightProjectDescriptor; import com.intellij.util.ArrayUtil; @@ -55,9 +56,8 @@ public abstract class AbstractKotlinSourceInJavaCompletionTest extends JetFixtur return JAVA_LATEST; } - @NotNull @Override - protected CompletionType completionType() { - return CompletionType.BASIC; + protected LookupElement[] complete(int invocationCount) { + return myFixture.complete(CompletionType.BASIC, invocationCount); } } diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractMultiFileJvmBasicCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractMultiFileJvmBasicCompletionTest.java index 9912dfab390..66aea1c6921 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractMultiFileJvmBasicCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractMultiFileJvmBasicCompletionTest.java @@ -42,7 +42,7 @@ public abstract class AbstractMultiFileJvmBasicCompletionTest extends KotlinComp complete(invocationCount); return myItems; } - }); + }, 0); return Unit.INSTANCE$; } } diff --git a/idea/tests/org/jetbrains/jet/completion/CompletionTestUtil.kt b/idea/tests/org/jetbrains/jet/completion/CompletionTestUtil.kt index 98f451016eb..65b82fc73a9 100644 --- a/idea/tests/org/jetbrains/jet/completion/CompletionTestUtil.kt +++ b/idea/tests/org/jetbrains/jet/completion/CompletionTestUtil.kt @@ -21,8 +21,8 @@ import org.jetbrains.jet.plugin.project.TargetPlatform import org.junit.Assert import org.jetbrains.jet.completion.ExpectedCompletionUtils -fun testCompletion(fileText: String, platform: TargetPlatform?, complete: (Int) -> Array?) { - val invocationCount = ExpectedCompletionUtils.getInvocationCount(fileText) ?: 0 +fun testCompletion(fileText: String, platform: TargetPlatform?, complete: (Int) -> Array?, defaultInvocationCount: Int = 0) { + val invocationCount = ExpectedCompletionUtils.getInvocationCount(fileText) ?: defaultInvocationCount val items = complete(invocationCount) ?: array() ExpectedCompletionUtils.assertDirectivesValid(fileText) diff --git a/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java index 34c7f415fe9..42ac9d727f2 100644 --- a/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java @@ -17,13 +17,10 @@ package org.jetbrains.jet.completion; import com.intellij.testFramework.TestDataPath; -import junit.framework.Test; -import junit.framework.TestSuite; -import org.junit.runner.RunWith; import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.test.InnerTestClasses; import org.jetbrains.jet.test.TestMetadata; -import org.jetbrains.jet.JUnit3RunnerWithInners; +import org.junit.runner.RunWith; import java.io.File; import java.util.regex.Pattern; @@ -450,6 +447,24 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes doTest(fileName); } + @TestMetadata("NoAutoPopupInValName.kt") + public void testNoAutoPopupInValName() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoAutoPopupInValName.kt"); + doTest(fileName); + } + + @TestMetadata("NoAutopopupInFunName.kt") + public void testNoAutopopupInFunName() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoAutopopupInFunName.kt"); + doTest(fileName); + } + + @TestMetadata("NoAutopopupInVarName.kt") + public void testNoAutopopupInVarName() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoAutopopupInVarName.kt"); + doTest(fileName); + } + @TestMetadata("NoClassNameDuplication.kt") public void testNoClassNameDuplication() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoClassNameDuplication.kt"); diff --git a/idea/tests/org/jetbrains/jet/completion/JetFixtureCompletionBaseTestCase.java b/idea/tests/org/jetbrains/jet/completion/JetFixtureCompletionBaseTestCase.java index 74d1f882025..055a1efdb31 100644 --- a/idea/tests/org/jetbrains/jet/completion/JetFixtureCompletionBaseTestCase.java +++ b/idea/tests/org/jetbrains/jet/completion/JetFixtureCompletionBaseTestCase.java @@ -17,11 +17,12 @@ package org.jetbrains.jet.completion; import com.intellij.codeInsight.CodeInsightSettings; -import com.intellij.codeInsight.completion.CompletionType; import com.intellij.codeInsight.lookup.LookupElement; +import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.io.FileUtil; import kotlin.Function1; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.completion.util.UtilPackage; import org.jetbrains.jet.plugin.JetLightCodeInsightFixtureTestCase; import org.jetbrains.jet.plugin.caches.resolve.LibraryModificationTracker; @@ -30,40 +31,37 @@ import org.jetbrains.jet.plugin.project.TargetPlatform; import java.io.File; public abstract class JetFixtureCompletionBaseTestCase extends JetLightCodeInsightFixtureTestCase { - private boolean autoCompleteSetting; + private Pair savedAutoCompleteSettings; @Override protected void setUp() throws Exception { super.setUp(); - autoCompleteSetting = setAutoCompleteSetting(false); + savedAutoCompleteSettings = setAutoCompleteSetting(new Pair(false, false)); } @Override protected void tearDown() throws Exception { - setAutoCompleteSetting(autoCompleteSetting); + setAutoCompleteSetting(savedAutoCompleteSettings); super.tearDown(); } - private boolean setAutoCompleteSetting(boolean value){ + private static Pair setAutoCompleteSetting(Pair value){ CodeInsightSettings settings = CodeInsightSettings.getInstance(); - boolean oldValue; - if (completionType() == CompletionType.SMART){ - oldValue = settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION; - settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION = value; - } - else { - oldValue = settings.AUTOCOMPLETE_COMMON_PREFIX; - settings.AUTOCOMPLETE_ON_CODE_COMPLETION = value; - } - return oldValue; + boolean oldValue1 = settings.AUTOCOMPLETE_ON_CODE_COMPLETION; + boolean oldValue2 = settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION; + settings.AUTOCOMPLETE_ON_CODE_COMPLETION = value.first; + settings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION = value.second; + return new Pair(oldValue1, oldValue2); } public abstract TargetPlatform getPlatform(); - @NotNull - protected abstract CompletionType completionType(); + @Nullable + protected abstract LookupElement[] complete(int invocationCount); + + protected int defaultInvocationCount() { return 0; } public void doTest(String testPath) throws Exception { setUpFixture(testPath); @@ -72,9 +70,9 @@ public abstract class JetFixtureCompletionBaseTestCase extends JetLightCodeInsig UtilPackage.testCompletion(fileText, getPlatform(), new Function1() { @Override public LookupElement[] invoke(Integer invocationCount) { - return myFixture.complete(completionType(), invocationCount); + return complete(invocationCount); } - }); + }, defaultInvocationCount()); } protected void setUpFixture(@NotNull String testPath) { diff --git a/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java index 000338ca1fa..8e176e51463 100644 --- a/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java @@ -17,10 +17,13 @@ package org.jetbrains.jet.completion; import com.intellij.testFramework.TestDataPath; +import junit.framework.Test; +import junit.framework.TestSuite; +import org.junit.runner.RunWith; import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.test.InnerTestClasses; import org.jetbrains.jet.test.TestMetadata; -import org.junit.runner.RunWith; +import org.jetbrains.jet.JUnit3RunnerWithInners; import java.io.File; import java.util.regex.Pattern; @@ -447,6 +450,24 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT doTest(fileName); } + @TestMetadata("NoAutoPopupInValName.kt") + public void testNoAutoPopupInValName() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoAutoPopupInValName.kt"); + doTest(fileName); + } + + @TestMetadata("NoAutopopupInFunName.kt") + public void testNoAutopopupInFunName() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoAutopopupInFunName.kt"); + doTest(fileName); + } + + @TestMetadata("NoAutopopupInVarName.kt") + public void testNoAutopopupInVarName() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoAutopopupInVarName.kt"); + doTest(fileName); + } + @TestMetadata("NoClassNameDuplication.kt") public void testNoClassNameDuplication() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/basic/common/NoClassNameDuplication.kt"); diff --git a/idea/tests/org/jetbrains/jet/completion/KeywordCompletionTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/KeywordCompletionTestGenerated.java index 503598bce6f..0fff1420c09 100644 --- a/idea/tests/org/jetbrains/jet/completion/KeywordCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/KeywordCompletionTestGenerated.java @@ -110,12 +110,6 @@ public class KeywordCompletionTestGenerated extends AbstractKeywordCompletionTes doTest(fileName); } - @TestMetadata("InFunctionNoCompletionInValName.kt") - public void testInFunctionNoCompletionInValName() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/keywords/InFunctionNoCompletionInValName.kt"); - doTest(fileName); - } - @TestMetadata("InFunctionScope.kt") public void testInFunctionScope() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/keywords/InFunctionScope.kt"); @@ -164,12 +158,6 @@ public class KeywordCompletionTestGenerated extends AbstractKeywordCompletionTes doTest(fileName); } - @TestMetadata("InTopNoCompletionInVarName.kt") - public void testInTopNoCompletionInVarName() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/keywords/InTopNoCompletionInVarName.kt"); - doTest(fileName); - } - @TestMetadata("InTopProperty.kt") public void testInTopProperty() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/keywords/InTopProperty.kt");