Files
kotlin-fork/js/js.translator/testData/box/coercion/receiverSmartCast.kt
T
Roman Artemev 987c6ab3ee [JS IR] Roll making Char inline class back
- un/mute falling tests
2019-11-25 20:22:03 +03:00

33 lines
671 B
Kotlin
Vendored

// EXPECTED_REACHABLE_NODES: 1283
// IGNORE_BACKEND: JS_IR
fun foo(x: Any): String {
return when (x) {
is Char -> "char: ${x.toInt()}"
else -> "other: $x"
}
}
fun bar(x: Any): String {
return when (x) {
is Char -> "char: ${x.baz()}"
else -> "other: $x"
}
}
fun Char.baz(): Boolean = jsTypeOf(asDynamic()) == "number"
fun box(): String {
val a = foo('0')
if (a != "char: 48") return "fail1: $a"
val b = foo(23)
if (b != "other: 23") return "fail2: $b"
val c = bar('0')
if (c != "char: true") return "fail3: $c"
val d = bar(23)
if (d != "other: 23") return "fail4: $d"
return "OK"
}