Files
kotlin-fork/js/js.translator/testData/box/expression/when/ifInWhenDanglingElseIssue.kt
T
2018-09-12 09:49:25 +03:00

28 lines
621 B
Kotlin
Vendored

// EXPECTED_REACHABLE_NODES: 1282
// http://youtrack.jetbrains.com/issue/KT-5253
// JS: generated wrong code when use `if` inside `when`
package foo
fun test(caseId: Int, value: Int, expected: Int) {
var actual: Int = 0
when (caseId) {
2 -> if (value < 0) actual = -value
3 -> actual = if (value < 0) {-value} else value
else -> throw Exception("Unexpected case: $caseId")
}
if (expected != actual) throw Exception("expected = $expected, actual = $actual")
}
fun box(): String {
test(2, 33, 0)
test(2, -1, 1)
test(3, 23, 23)
test(3, -3, 3)
return "OK"
}