[Spec tests] Actualize spec tests

This commit is contained in:
victor.petukhov
2019-10-24 16:57:09 +03:00
committed by Victor Petukhov
parent 2dbce2cc41
commit f62901d7d9
106 changed files with 776 additions and 458 deletions
@@ -1,33 +1,35 @@
// !DIAGNOSTICS: -UNUSED_VALUE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* SPEC VERSION: 0.1-201
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 11
* NUMBER: 1
* DESCRIPTION: 'When' without bound value and with 'else' branch not in the last position.
* DESCRIPTION: 'When' with bound value and non-expressions in 'when condition'.
*/
// TESTCASE NUMBER: 1
fun case_1(<!UNUSED_PARAMETER!>value_1<!>: Int): String = when {
<!ELSE_MISPLACED_IN_WHEN!>else<!> -> ""
<!UNREACHABLE_CODE!>value_1 == 1 -> ""<!>
}
// TESTCASE NUMBER: 2
fun case_2(value_1: Int): String = when {
value_1 == 1 -> ""
<!ELSE_MISPLACED_IN_WHEN!>else<!> -> ""
<!UNREACHABLE_CODE!>value_1 == 2 -> ""<!>
}
// TESTCASE NUMBER: 3
fun case_3(): String {
when {
<!ELSE_MISPLACED_IN_WHEN!>else<!> -> return ""
<!UNREACHABLE_CODE!>else -> return ""<!>
fun case_1(value_1: Int, value_2: List<Int>): String {
when (value_1) {
<!EXPRESSION_EXPECTED!>while (false) {}<!> -> return ""
<!EXPRESSION_EXPECTED!>do {} while (false)<!> -> return ""
<!EXPRESSION_EXPECTED!>for (value in value_2) {}<!> -> return ""
}
<!UNREACHABLE_CODE!>return ""<!>
return ""
}
// TESTCASE NUMBER: 4
fun case_4(value_1: Int): String {
var value_2: Int
var value_3 = 10
when (value_1) {
<!ASSIGNMENT_IN_EXPRESSION_CONTEXT!>value_2 = 10<!> -> return ""
<!ASSIGNMENT_IN_EXPRESSION_CONTEXT!>value_3 %= 10<!> -> return ""
}
return ""
}
@@ -3,8 +3,8 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 9
* SPEC VERSION: 0.1-201
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 11
* NUMBER: 2
* DESCRIPTION: 'When' with bound value and not allowed break and continue expression (without labels) in 'when condition'.
*/
@@ -0,0 +1,33 @@
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-201
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 12
* NUMBER: 1
* DESCRIPTION: 'When' without bound value and with 'else' branch not in the last position.
*/
// TESTCASE NUMBER: 1
fun case_1(<!UNUSED_PARAMETER!>value_1<!>: Int): String = when {
<!ELSE_MISPLACED_IN_WHEN!>else<!> -> ""
<!UNREACHABLE_CODE!>value_1 == 1 -> ""<!>
}
// TESTCASE NUMBER: 2
fun case_2(value_1: Int): String = when {
value_1 == 1 -> ""
<!ELSE_MISPLACED_IN_WHEN!>else<!> -> ""
<!UNREACHABLE_CODE!>value_1 == 2 -> ""<!>
}
// TESTCASE NUMBER: 3
fun case_3(): String {
when {
<!ELSE_MISPLACED_IN_WHEN!>else<!> -> return ""
<!UNREACHABLE_CODE!>else -> return ""<!>
}
<!UNREACHABLE_CODE!>return ""<!>
}
@@ -4,8 +4,8 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 6
* SPEC VERSION: 0.1-201
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 7
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and with else branch not in the last position.
*/
@@ -1,35 +0,0 @@
// !DIAGNOSTICS: -UNUSED_VALUE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 9
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and non-expressions in 'when condition'.
*/
// TESTCASE NUMBER: 1
fun case_1(value_1: Int, value_2: List<Int>): String {
when (value_1) {
<!EXPRESSION_EXPECTED!>while (false) {}<!> -> return ""
<!EXPRESSION_EXPECTED!>do {} while (false)<!> -> return ""
<!EXPRESSION_EXPECTED!>for (value in value_2) {}<!> -> return ""
}
return ""
}
// TESTCASE NUMBER: 4
fun case_4(value_1: Int): String {
var value_2: Int
var value_3 = 10
when (value_1) {
<!ASSIGNMENT_IN_EXPRESSION_CONTEXT!>value_2 = 10<!> -> return ""
<!ASSIGNMENT_IN_EXPRESSION_CONTEXT!>value_3 %= 10<!> -> return ""
}
return ""
}
@@ -3,8 +3,8 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 9
* SPEC VERSION: 0.1-201
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 10
* NUMBER: 1
* DESCRIPTION: 'When' with enumeration of the different variants of expressions in 'when condition'.
* HELPERS: typesProvider, classes, functions
@@ -3,8 +3,8 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 9
* SPEC VERSION: 0.1-201
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 10
* NUMBER: 2
* DESCRIPTION: 'When' with different variants of the arithmetic expressions (additive expression and multiplicative expression) in 'when condition'.
* HELPERS: typesProvider, classes, functions
@@ -3,8 +3,8 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 11
* SPEC VERSION: 0.1-201
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 12
* NUMBER: 1
* DESCRIPTION: 'When' without bound value and with else branch in the last position.
*/
@@ -1,8 +1,8 @@
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-100
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 6
* SPEC VERSION: 0.1-201
* PLACE: expressions, when-expression -> paragraph 6 -> sentence 7
* NUMBER: 1
* DESCRIPTION: 'When' with bound value and else branch.
*/
@@ -0,0 +1,5 @@
package
public fun case_1(/*0*/ value_1: kotlin.Int?): kotlin.String
public fun case_2(/*0*/ value_1: kotlin.Any): kotlin.String
public fun case_3(/*0*/ value_1: kotlin.Int): kotlin.String