33 lines
686 B
Kotlin
Vendored
33 lines
686 B
Kotlin
Vendored
external interface A {
|
|
@JsName("__name")
|
|
val name: String
|
|
|
|
@JsName("bar")
|
|
fun foo(): String
|
|
}
|
|
|
|
external class B: A {
|
|
override val name: String
|
|
override fun foo(): String
|
|
}
|
|
|
|
fun box(): String {
|
|
val c = js("{ __name: 'Frodo', bar: function() { return 'Baggins' } }")
|
|
|
|
val a: A = c
|
|
val b: B = c
|
|
|
|
assertEquals(a.name, "Frodo")
|
|
assertEquals(a.asDynamic().__name, "Frodo")
|
|
|
|
assertEquals(b.name, "Frodo")
|
|
assertEquals(b.asDynamic().__name, "Frodo")
|
|
|
|
assertEquals(a.foo(), "Baggins")
|
|
assertEquals(a.asDynamic().bar(), "Baggins")
|
|
|
|
assertEquals(b.foo(), "Baggins")
|
|
assertEquals(b.asDynamic().bar(), "Baggins")
|
|
|
|
return "OK"
|
|
} |