42 lines
720 B
Kotlin
Vendored
42 lines
720 B
Kotlin
Vendored
// DONT_TARGET_EXACT_BACKEND: JS
|
|
// IGNORE_BACKEND: WASM
|
|
// ES_MODULES
|
|
// FILE: bar.kt
|
|
@file:JsModule("./interfaces.mjs")
|
|
@file:JsQualifier("foo")
|
|
package foo
|
|
|
|
external interface Bar {
|
|
fun ping(): String
|
|
}
|
|
|
|
// FILE: baz.kt
|
|
@file:JsModule("./interfaces.mjs")
|
|
package boo
|
|
|
|
external interface Baz {
|
|
fun pong(): Int
|
|
}
|
|
|
|
// FILE: root.kt
|
|
@file:JsModule("./interfaces.mjs")
|
|
import foo.Bar
|
|
import boo.Baz
|
|
|
|
external val bar: Bar
|
|
external val baz: Baz
|
|
|
|
// FILE: test.kt
|
|
import boo.Baz
|
|
|
|
fun box(): String {
|
|
if (bar.ping() != "ping" || baz.pong() != 194) return "Fail"
|
|
|
|
val local = object : Baz {
|
|
override fun pong(): Int = 322
|
|
}
|
|
|
|
if (local.asDynamic().pong() != 322) return "Fail"
|
|
|
|
return "OK"
|
|
} |