From e39443d53a089d4137ffb91b86957094bd5321d2 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Fri, 26 Dec 2014 19:33:35 +0300 Subject: [PATCH] Refactored tests for keywords insertion to be all generated --- .../jet/generators/tests/GenerateTests.kt | 5 ++ .../{Break_after.kt => Break.kt.after} | 0 .../handlers/keywords/NoSpaceAfterNull.kt | 5 ++ .../keywords/NoSpaceAfterNull.kt.after | 5 ++ ...pe_after.kt => ReturnInEmptyType.kt.after} | 0 ...rty_after.kt => ReturnInProperty.kt.after} | 0 ...after.kt => ReturnInTypeFunction.kt.after} | 0 ...nInUnit_after.kt => ReturnInUnit.kt.after} | 0 .../handlers/keywords/SpaceAfterImport.kt | 1 + .../keywords/SpaceAfterImport.kt.after | 1 + .../KeywordCompletionTestGenerated.java | 1 + .../AbstractCompletionHandlerTests.kt | 5 ++ ...KeywordCompletionHandlerTestGenerated.java | 79 +++++++++++++++++++ .../handlers/KeywordsHandlerTest.java | 77 ------------------ 14 files changed, 102 insertions(+), 77 deletions(-) rename idea/testData/completion/handlers/keywords/{Break_after.kt => Break.kt.after} (100%) create mode 100644 idea/testData/completion/handlers/keywords/NoSpaceAfterNull.kt create mode 100644 idea/testData/completion/handlers/keywords/NoSpaceAfterNull.kt.after rename idea/testData/completion/handlers/keywords/{ReturnInEmptyType_after.kt => ReturnInEmptyType.kt.after} (100%) rename idea/testData/completion/handlers/keywords/{ReturnInProperty_after.kt => ReturnInProperty.kt.after} (100%) rename idea/testData/completion/handlers/keywords/{ReturnInTypeFunction_after.kt => ReturnInTypeFunction.kt.after} (100%) rename idea/testData/completion/handlers/keywords/{ReturnInUnit_after.kt => ReturnInUnit.kt.after} (100%) create mode 100644 idea/testData/completion/handlers/keywords/SpaceAfterImport.kt create mode 100644 idea/testData/completion/handlers/keywords/SpaceAfterImport.kt.after create mode 100644 idea/tests/org/jetbrains/jet/completion/handlers/KeywordCompletionHandlerTestGenerated.java delete mode 100644 idea/tests/org/jetbrains/jet/completion/handlers/KeywordsHandlerTest.java diff --git a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt index 7bfab137e89..e943a155eaf 100644 --- a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt +++ b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.kt @@ -139,6 +139,7 @@ import org.jetbrains.k2js.test.semantics.AbstractMultiModuleTest import org.jetbrains.jet.completion.handlers.AbstractBasicCompletionHandlerTest import org.jetbrains.jet.plugin.decompiler.stubBuilder.AbstractClsStubBuilderTest import org.jetbrains.jet.codegen.AbstractLineNumberTest +import org.jetbrains.jet.completion.handlers.AbstractKeywordCompletionHandlerTest fun main(args: Array) { System.setProperty("java.awt.headless", "true") @@ -378,6 +379,10 @@ fun main(args: Array) { model("completion/handlers/smart") } + testClass(javaClass()) { + model("completion/handlers/keywords") + } + testClass(javaClass()) { model("completion/handlers/charFilter") } diff --git a/idea/testData/completion/handlers/keywords/Break_after.kt b/idea/testData/completion/handlers/keywords/Break.kt.after similarity index 100% rename from idea/testData/completion/handlers/keywords/Break_after.kt rename to idea/testData/completion/handlers/keywords/Break.kt.after diff --git a/idea/testData/completion/handlers/keywords/NoSpaceAfterNull.kt b/idea/testData/completion/handlers/keywords/NoSpaceAfterNull.kt new file mode 100644 index 00000000000..45e7a9a6f83 --- /dev/null +++ b/idea/testData/completion/handlers/keywords/NoSpaceAfterNull.kt @@ -0,0 +1,5 @@ +fun test() { + nul +} + +// ELEMENT: null \ No newline at end of file diff --git a/idea/testData/completion/handlers/keywords/NoSpaceAfterNull.kt.after b/idea/testData/completion/handlers/keywords/NoSpaceAfterNull.kt.after new file mode 100644 index 00000000000..498b18383d8 --- /dev/null +++ b/idea/testData/completion/handlers/keywords/NoSpaceAfterNull.kt.after @@ -0,0 +1,5 @@ +fun test() { + null +} + +// ELEMENT: null \ No newline at end of file diff --git a/idea/testData/completion/handlers/keywords/ReturnInEmptyType_after.kt b/idea/testData/completion/handlers/keywords/ReturnInEmptyType.kt.after similarity index 100% rename from idea/testData/completion/handlers/keywords/ReturnInEmptyType_after.kt rename to idea/testData/completion/handlers/keywords/ReturnInEmptyType.kt.after diff --git a/idea/testData/completion/handlers/keywords/ReturnInProperty_after.kt b/idea/testData/completion/handlers/keywords/ReturnInProperty.kt.after similarity index 100% rename from idea/testData/completion/handlers/keywords/ReturnInProperty_after.kt rename to idea/testData/completion/handlers/keywords/ReturnInProperty.kt.after diff --git a/idea/testData/completion/handlers/keywords/ReturnInTypeFunction_after.kt b/idea/testData/completion/handlers/keywords/ReturnInTypeFunction.kt.after similarity index 100% rename from idea/testData/completion/handlers/keywords/ReturnInTypeFunction_after.kt rename to idea/testData/completion/handlers/keywords/ReturnInTypeFunction.kt.after diff --git a/idea/testData/completion/handlers/keywords/ReturnInUnit_after.kt b/idea/testData/completion/handlers/keywords/ReturnInUnit.kt.after similarity index 100% rename from idea/testData/completion/handlers/keywords/ReturnInUnit_after.kt rename to idea/testData/completion/handlers/keywords/ReturnInUnit.kt.after diff --git a/idea/testData/completion/handlers/keywords/SpaceAfterImport.kt b/idea/testData/completion/handlers/keywords/SpaceAfterImport.kt new file mode 100644 index 00000000000..89fc8ea2bf3 --- /dev/null +++ b/idea/testData/completion/handlers/keywords/SpaceAfterImport.kt @@ -0,0 +1 @@ +impor \ No newline at end of file diff --git a/idea/testData/completion/handlers/keywords/SpaceAfterImport.kt.after b/idea/testData/completion/handlers/keywords/SpaceAfterImport.kt.after new file mode 100644 index 00000000000..584e5b98c13 --- /dev/null +++ b/idea/testData/completion/handlers/keywords/SpaceAfterImport.kt.after @@ -0,0 +1 @@ +import \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/completion/KeywordCompletionTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/KeywordCompletionTestGenerated.java index 49f9bbb82b4..3a70337b2ae 100644 --- a/idea/tests/org/jetbrains/jet/completion/KeywordCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/KeywordCompletionTestGenerated.java @@ -19,6 +19,7 @@ package org.jetbrains.jet.completion; import com.intellij.testFramework.TestDataPath; import org.jetbrains.jet.JUnit3RunnerWithInners; import org.jetbrains.jet.JetTestUtils; +import org.jetbrains.jet.test.InnerTestClasses; import org.jetbrains.jet.test.TestMetadata; import org.junit.runner.RunWith; diff --git a/idea/tests/org/jetbrains/jet/completion/handlers/AbstractCompletionHandlerTests.kt b/idea/tests/org/jetbrains/jet/completion/handlers/AbstractCompletionHandlerTests.kt index f0908991269..acb5ce147d8 100644 --- a/idea/tests/org/jetbrains/jet/completion/handlers/AbstractCompletionHandlerTests.kt +++ b/idea/tests/org/jetbrains/jet/completion/handlers/AbstractCompletionHandlerTests.kt @@ -77,3 +77,8 @@ public abstract class AbstractCompletionCharFilterTest() : AbstractCompletionHan override val defaultCompletionType: CompletionType = CompletionType.BASIC override val testDataRelativePath: String = "/completion/handlers/charFilter" } + +public abstract class AbstractKeywordCompletionHandlerTest() : AbstractCompletionHandlerTest() { + override val defaultCompletionType: CompletionType = CompletionType.BASIC + override val testDataRelativePath: String = "/completion/handlers/keywords" +} diff --git a/idea/tests/org/jetbrains/jet/completion/handlers/KeywordCompletionHandlerTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/handlers/KeywordCompletionHandlerTestGenerated.java new file mode 100644 index 00000000000..01611bf7588 --- /dev/null +++ b/idea/tests/org/jetbrains/jet/completion/handlers/KeywordCompletionHandlerTestGenerated.java @@ -0,0 +1,79 @@ +/* + * 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.handlers; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.jet.JUnit3RunnerWithInners; +import org.jetbrains.jet.JetTestUtils; +import org.jetbrains.jet.test.TestMetadata; +import org.junit.runner.RunWith; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.jet.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("idea/testData/completion/handlers/keywords") +@TestDataPath("$PROJECT_ROOT") +@RunWith(JUnit3RunnerWithInners.class) +public class KeywordCompletionHandlerTestGenerated extends AbstractKeywordCompletionHandlerTest { + public void testAllFilesPresentInKeywords() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/completion/handlers/keywords"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("Break.kt") + public void testBreak() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/handlers/keywords/Break.kt"); + doTest(fileName); + } + + @TestMetadata("NoSpaceAfterNull.kt") + public void testNoSpaceAfterNull() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/handlers/keywords/NoSpaceAfterNull.kt"); + doTest(fileName); + } + + @TestMetadata("ReturnInEmptyType.kt") + public void testReturnInEmptyType() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/handlers/keywords/ReturnInEmptyType.kt"); + doTest(fileName); + } + + @TestMetadata("ReturnInProperty.kt") + public void testReturnInProperty() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/handlers/keywords/ReturnInProperty.kt"); + doTest(fileName); + } + + @TestMetadata("ReturnInTypeFunction.kt") + public void testReturnInTypeFunction() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/handlers/keywords/ReturnInTypeFunction.kt"); + doTest(fileName); + } + + @TestMetadata("ReturnInUnit.kt") + public void testReturnInUnit() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/handlers/keywords/ReturnInUnit.kt"); + doTest(fileName); + } + + @TestMetadata("SpaceAfterImport.kt") + public void testSpaceAfterImport() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/handlers/keywords/SpaceAfterImport.kt"); + doTest(fileName); + } +} diff --git a/idea/tests/org/jetbrains/jet/completion/handlers/KeywordsHandlerTest.java b/idea/tests/org/jetbrains/jet/completion/handlers/KeywordsHandlerTest.java deleted file mode 100644 index 0272d093434..00000000000 --- a/idea/tests/org/jetbrains/jet/completion/handlers/KeywordsHandlerTest.java +++ /dev/null @@ -1,77 +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.handlers; - -import com.intellij.codeInsight.completion.LightCompletionTestCase; -import org.jetbrains.jet.plugin.PluginTestCaseBase; - -import java.io.File; -import java.io.IOException; - -public class KeywordsHandlerTest extends LightCompletionTestCase { - - public void testSpaceAfter() throws IOException { - configureFromFileText("Test.kt", "impor"); - complete(); - checkResultByText("import "); - } - - public void testNoSpaceAfter() throws IOException { - configureFromFileText("Test.kt", "fun test() { nul }"); - forceCompleteFirst(); - checkResultByText("fun test() { null }"); - } - - public void testBreak() { - doFileTest(); - } - - public void testReturnInEmptyType() { - doFileTest(); - } - - public void testReturnInProperty() { - doFileTest(); - } - - public void testReturnInTypeFunction() { - doFileTest(); - } - - public void testReturnInUnit() { - doFileTest(); - } - - protected void doFileTest() { - configureByFile(getTestName(false) + ".kt"); - complete(); - checkResultByFile(getTestName(false) + "_after.kt"); - } - - protected void forceCompleteFirst() { - complete(); - if (myItems != null && myItems.length > 1) { - selectItem(myItems[0]); - } - } - - @Override - protected String getTestDataPath() { - return new File(PluginTestCaseBase.getTestDataPathBase(), "/completion/handlers/keywords").getPath() + - File.separator; - } -}