// WITH_RUNTIME // KJS_WITH_FULL_RUNTIME // IGNORE_BACKEND_FIR: JVM_IR import kotlin.test.* class ValByMapExtensionsTest { val map: Map = hashMapOf("a" to "all", "b" to "bar", "c" to "code") val genericMap = mapOf("i" to 1, "x" to 1.0) val mmapOut: MutableMap = mutableMapOf("g" to "out", "g1" to "in") val genericMmapOut: MutableMap = mmapOut val a by map val b: String by map val c: Any by map val d: String? by map val e: String by map.withDefault { "default" } val f: String? by map.withDefault { null } val g: String by mmapOut val g1: String by genericMmapOut val i: Int by genericMap val x: Double by genericMap fun doTest() { assertEquals("all", a) assertEquals("bar", b) assertEquals("code", c) assertEquals("default", e) assertEquals(null, f) assertEquals("out", g) assertEquals("in", g1) assertEquals(1, i) assertEquals(1.0, x) assertFailsWith { d } } } fun box(): String { ValByMapExtensionsTest().doTest() return "OK" }