From aebcebe8caf6c9fa312b9be13da149c86031a9dd Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Tue, 17 Nov 2015 15:05:00 +0300 Subject: [PATCH] Add simple checker tests for scripts --- .../kotlin/generators/tests/GenerateTests.kt | 1 + idea/testData/checker/scripts/if.kts | 10 ++++++ .../checker/scripts/packageStatement.kts | 3 ++ idea/testData/checker/scripts/simple.kts | 26 +++++++++++++++ .../checker/scripts/uninitializedVariable.kts | 2 ++ .../checkers/PsiCheckerTestGenerated.java | 33 +++++++++++++++++++ 6 files changed, 75 insertions(+) create mode 100644 idea/testData/checker/scripts/if.kts create mode 100644 idea/testData/checker/scripts/packageStatement.kts create mode 100644 idea/testData/checker/scripts/simple.kts create mode 100644 idea/testData/checker/scripts/uninitializedVariable.kts diff --git a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index f8210aaecbc..566b8f112ea 100644 --- a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -377,6 +377,7 @@ fun main(args: Array) { model("checker/regression") model("checker/recovery") model("checker/rendering") + model("checker/scripts", extension = "kts") model("checker/duplicateJvmSignature") model("checker/infos", testMethod = "doTestWithInfos") } diff --git a/idea/testData/checker/scripts/if.kts b/idea/testData/checker/scripts/if.kts new file mode 100644 index 00000000000..550902aa573 --- /dev/null +++ b/idea/testData/checker/scripts/if.kts @@ -0,0 +1,10 @@ +val c = true +if (c) { + 2 + 3 +} + +fun f() { + if (!c) { + 3 + 4 + } +} \ No newline at end of file diff --git a/idea/testData/checker/scripts/packageStatement.kts b/idea/testData/checker/scripts/packageStatement.kts new file mode 100644 index 00000000000..0952b9f8685 --- /dev/null +++ b/idea/testData/checker/scripts/packageStatement.kts @@ -0,0 +1,3 @@ +package org.my + +val x = 1 \ No newline at end of file diff --git a/idea/testData/checker/scripts/simple.kts b/idea/testData/checker/scripts/simple.kts new file mode 100644 index 00000000000..28c57bb673d --- /dev/null +++ b/idea/testData/checker/scripts/simple.kts @@ -0,0 +1,26 @@ +fun f() { +} + +fun g() { + f() +} + +val c = 1 + +1 + 2 + +val k = f() + +3 + 5 + +g() +f() + +class C { + fun f() { + } +} + +val cc = C() + +cc.f() \ No newline at end of file diff --git a/idea/testData/checker/scripts/uninitializedVariable.kts b/idea/testData/checker/scripts/uninitializedVariable.kts new file mode 100644 index 00000000000..773b76d7092 --- /dev/null +++ b/idea/testData/checker/scripts/uninitializedVariable.kts @@ -0,0 +1,2 @@ +val x = y +val y = 3 \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java b/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java index 95b62e41b1e..e18a51323bc 100644 --- a/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java @@ -563,6 +563,39 @@ public class PsiCheckerTestGenerated extends AbstractPsiCheckerTest { } } + @TestMetadata("idea/testData/checker/scripts") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Scripts extends AbstractPsiCheckerTest { + public void testAllFilesPresentInScripts() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/checker/scripts"), Pattern.compile("^(.+)\\.kts$"), true); + } + + @TestMetadata("if.kts") + public void testIf() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/scripts/if.kts"); + doTest(fileName); + } + + @TestMetadata("packageStatement.kts") + public void testPackageStatement() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/scripts/packageStatement.kts"); + doTest(fileName); + } + + @TestMetadata("simple.kts") + public void testSimple() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/scripts/simple.kts"); + doTest(fileName); + } + + @TestMetadata("uninitializedVariable.kts") + public void testUninitializedVariable() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/scripts/uninitializedVariable.kts"); + doTest(fileName); + } + } + @TestMetadata("idea/testData/checker/duplicateJvmSignature") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)