Files
kotlin-fork/compiler/testData/debug/stepping/assertion.kt
T
Sergej Jaskiewicz ea556ce428 [JS IR] Implement stepping tests for Kotlin/JS
We already have stepping tests for Kotlin/JVM.
They are helpful for testing the correctness of the generated
debugging information.

They are better than line number tests in that they allow to test the
_behavior_, not the generated data. The structure of the data may change
even if the behavior stays the same. For that reason, stepping tests
are more stable.
2022-07-19 16:06:23 +00:00

48 lines
910 B
Kotlin
Vendored

// IGNORE_BACKEND: JS_IR
// FILE: test.kt
public val MASSERTIONS_ENABLED: Boolean = true
public inline fun massert(value: Boolean, lazyMessage: () -> String) {
if (MASSERTIONS_ENABLED) {
if (!value) {
val message = lazyMessage()
throw AssertionError(message)
}
}
}
public inline fun massert(value: Boolean, message: Any = "Assertion failed") {
if (MASSERTIONS_ENABLED) {
if (!value) {
throw AssertionError(message)
}
}
}
fun box(): String {
massert(true)
massert(true) {
"test"
}
return "OK"
}
// EXPECTATIONS
// test.kt:25 box
// test.kt:16 box
// test.kt:17 box
// test.kt:4 getMASSERTIONS_ENABLED
// test.kt:17 box
// test.kt:18 box
// test.kt:22 box
// test.kt:26 box
// test.kt:7 box
// test.kt:4 getMASSERTIONS_ENABLED
// test.kt:7 box
// test.kt:8 box
// test.kt:13 box
// test.kt:30 box