blob: 1f68cb4ce7e74ac238828dc053ebe9964efa8309 [file] [log] [blame]
// ES_MODULES
// FILE: jsModule.mjs
let x = 10;
function f() { return 10; };
class C {
constructor(x) {
this.x = x;
}
}
export { x, f, C };
export default { defaultX: x, defaultF: f, defaultC: C };
// FILE: lib1.kt
@file:JsModule("./jsModule.mjs")
package named
external val x: Int
external fun f(): Int
external class C {
constructor(x: String)
val x: String
}
// FILE: lib2.kt
package default
@JsModule("./jsModule.mjs")
external object jsModule {
val defaultX: Int
fun defaultF(): Int
class defaultC {
constructor(x: String)
val x: String
}
}
// FILE: main.kt
fun box(): String {
if (named.x != 10) return "Fail1"
if (named.f() != 10) return "Fail2"
if (named.C("10").x != "10") return "Fail3"
if (default.jsModule.defaultX != 10) return "Fail4"
if (default.jsModule.defaultF() != 10) return "Fail5"
if (default.jsModule.defaultC("10").x != "10") return "Fail6"
return "OK"
}