[Wasm] Support JsModule and JsQualifier
This commit is contained in:
committed by
Space Team
parent
75d3ae4466
commit
d14d4c8510
@@ -0,0 +1,52 @@
|
||||
// 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"
|
||||
}
|
||||
Reference in New Issue
Block a user