66 lines
1.1 KiB
Kotlin
Vendored
66 lines
1.1 KiB
Kotlin
Vendored
// !LANGUAGE: +AllowBreakAndContinueInsideWhen
|
|
// IGNORE_BACKEND: JS_IR
|
|
|
|
// KT-61141: throws kotlin.AssertionError instead of java.lang.AssertionError
|
|
// IGNORE_BACKEND: NATIVE
|
|
|
|
fun testBreakFor() {
|
|
val xs = IntArray(10) { i -> i }
|
|
var k = 0
|
|
for (x in xs) {
|
|
when {
|
|
k > 2 -> break
|
|
}
|
|
}
|
|
}
|
|
|
|
fun testBreakWhile() {
|
|
var k = 0
|
|
while (k < 10) {
|
|
when {
|
|
k > 2 -> break
|
|
}
|
|
}
|
|
}
|
|
|
|
fun testBreakDoWhile() {
|
|
var k = 0
|
|
do {
|
|
when {
|
|
k > 2 -> break
|
|
}
|
|
} while (k < 10)
|
|
}
|
|
|
|
fun testContinueFor() {
|
|
val xs = IntArray(10) { i -> i }
|
|
var k = 0
|
|
for (x in xs) {
|
|
when {
|
|
k > 2 -> continue
|
|
}
|
|
}
|
|
}
|
|
|
|
fun testContinueWhile() {
|
|
var k = 0
|
|
while (k < 10) {
|
|
when {
|
|
k > 2 -> continue
|
|
}
|
|
}
|
|
}
|
|
|
|
fun testContinueDoWhile() {
|
|
var k = 0
|
|
var s = ""
|
|
do {
|
|
++k
|
|
when {
|
|
k > 2 -> continue
|
|
}
|
|
s += "$k;"
|
|
} while (k < 10)
|
|
if (s != "1;2;") throw AssertionError(s)
|
|
}
|