From fdef51e8b7b3ab1d82d3e4de894b4a7fad7a0cdc Mon Sep 17 00:00:00 2001 From: "anastasiia.spaseeva" Date: Wed, 11 Dec 2019 16:41:03 +0300 Subject: [PATCH] [Spec tests] Add tests for boolean-literals (p-1 sentence 2) --- .../boolean-literals/p-1/neg/2.1.kt | 63 ++++++++++++++++++ .../boolean-literals/p-1/pos/2.1.kt | 65 +++++++++++++++++++ .../boolean-literals/testsMap.json | 16 +++++ .../DiagnosticsTestSpecGenerated.java | 10 +++ 4 files changed, 154 insertions(+) create mode 100644 compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/neg/2.1.kt create mode 100644 compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/pos/2.1.kt diff --git a/compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/neg/2.1.kt b/compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/neg/2.1.kt new file mode 100644 index 00000000000..e1441ee1faf --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/neg/2.1.kt @@ -0,0 +1,63 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE) + * + * SPEC VERSION: 0.1-218 + * PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2 + * NUMBER: 1 + * DESCRIPTION: checking of type for Boolean values: impossible to use as identifiers + * HELPERS: checkType + */ + +// TESTCASE NUMBER: 1 + +fun case1() { + val false : Any = false + val true : Any = true +} + +// TESTCASE NUMBER: 2 + +fun case2() { + var false : Any = false + var true : Any = true +} + +// TESTCASE NUMBER: 3 + +fun case3() { + fun false() {} + fun true() {} +} + +// TESTCASE NUMBER: 4 + +fun case4() { + fun false() = "false" + fun true() = "true" +} + +// TESTCASE NUMBER: 5 + +fun case5() { + class false (){} + class true (){} +} + +// TESTCASE NUMBER: 6 + +fun case6() { + class false : true{} +} + +interface true{} +interface false{} + +// TESTCASE NUMBER: 7 + +fun case7() { + class false : false{} +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/pos/2.1.kt b/compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/pos/2.1.kt new file mode 100644 index 00000000000..4c04f764aed --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/pos/2.1.kt @@ -0,0 +1,65 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-218 + * PLACE: expressions, constant-literals, boolean-literals -> paragraph 1 -> sentence 2 + * NUMBER: 1 + * DESCRIPTION: checking of type for Boolean values: possible to use as identifiers if surround with backticks + * HELPERS: checkType + */ + +// TESTCASE NUMBER: 1 + +fun case1() { + val `false` : Any = false + val `true` : Any = true +} + +// TESTCASE NUMBER: 2 + +fun case2() { + var `false` : Any = false + var `true` : Any = true +} + +// TESTCASE NUMBER: 3 + +fun case3() { + fun `false`() {} + fun `true`() {} +} + +// TESTCASE NUMBER: 4 + +fun case4() { + fun `false`() = "false" + fun `true`() = "true" +} + +// TESTCASE NUMBER: 5 + +fun case5() { + class `false` (){} + class `true` (){} +} + + +// TESTCASE NUMBER: 6 + +fun case6() { + class `false` : `true`{} +} + +interface `true`{} +interface `false`{} + + +// TESTCASE NUMBER: 7 + +fun case7() { + class `true` : `false`{} +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/testsMap.json b/compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/testsMap.json index 37f2eaecbd6..b53e876c13d 100644 --- a/compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/testsMap.json +++ b/compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/testsMap.json @@ -1,6 +1,14 @@ { "1": { "neg": { + "2": [ + { + "specVersion": "0.1-218", + "casesNumber": 7, + "description": "checking of type for Boolean values: impossible to use as identifiers", + "unexpectedBehaviour": false + } + ], "3": [ { "specVersion": "0.1-100", @@ -11,6 +19,14 @@ ] }, "pos": { + "2": [ + { + "specVersion": "0.1-218", + "casesNumber": 7, + "description": "checking of type for Boolean values: possible to use as identifiers if surround with backticks", + "unexpectedBehaviour": false + } + ], "3": [ { "specVersion": "0.1-100", diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java index c2ba28903fa..741dda0f316 100644 --- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java +++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java @@ -523,6 +523,11 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } + @TestMetadata("2.1.kt") + public void test2_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/neg/2.1.kt"); + } + @TestMetadata("3.1.kt") public void test3_1() throws Exception { runTest("compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/neg/3.1.kt"); @@ -541,6 +546,11 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } + @TestMetadata("2.1.kt") + public void test2_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/pos/2.1.kt"); + } + @TestMetadata("3.1.kt") public void test3_1() throws Exception { runTest("compiler/tests-spec/testData/diagnostics/linked/expressions/constant-literals/boolean-literals/p-1/pos/3.1.kt");