| // WITH_STDLIB |
| // IGNORE_KLIB_RUNTIME_ERRORS_WITH_CUSTOM_SECOND_STAGE: JS:2.2.0 |
| // KT-78701: Fixed in 2.2.20-Beta2 |
| |
| import kotlin.test.assertSame |
| import kotlin.test.assertFailsWith |
| import kotlin.test.assertContains |
| |
| enum class E { OK } |
| |
| fun <T> id(x: T) = x |
| |
| fun box(): String { |
| assertSame(E.OK, E.valueOf("OK")) |
| assertSame(E.OK, enumValueOf<E>("OK")) |
| |
| val e1 = assertFailsWith<IllegalArgumentException> { E.valueOf("NO") } |
| assertContains(e1.message ?: "", "NO") |
| val e2 = assertFailsWith<IllegalArgumentException> { enumValueOf<E>("NO") } |
| assertContains(e2.message ?: "", "NO") |
| |
| return enumValueOf<E>(id("OK")).name |
| } |