| // TARGET_BACKEND: WASM |
| |
| // FILE: 1.mjs |
| |
| export function add(x, y) { return x + y; } |
| |
| export function giveMeFive(x) { |
| if (x !== 5) |
| throw "I expected 5"; |
| } |
| |
| // FILE: 2.mjs |
| |
| function sub(x, y) { return x - y; }; |
| |
| export { sub }; |
| export { sub as "(˹˻𔗎⁽₍❨❪⟮﴾︵﹙(⦅❲❴⟦⟨⟪⟬⦇⦉⦕⸢⸤︗︷︹︻︽︿﹁﹃﹇﹛﹝[{「«‘“‹❮" } |
| export { sub as "~!@#\$%^&*()_+\`-={}|[]\\\\:\\\";'<>?,./" } |
| export { sub as "" } |
| export { sub as "\n \r \t" } |
| export default sub; |
| |
| // FILE: wasmImport.kt |
| import kotlin.wasm.WasmImport |
| |
| @WasmImport("./1.mjs", "add") |
| external fun addImportRenamed(x: Int, y: Int): Int |
| |
| @WasmImport("./1.mjs") |
| external fun giveMeFive(x: Int): Unit // Test unit return type |
| |
| @WasmImport("./1.mjs") |
| external fun add(x: Int, y: Int): Int |
| |
| @WasmImport("./2.mjs") |
| external fun sub(x: Float, y: Float): Float |
| |
| @WasmImport("./2.mjs", "(˹˻𔗎⁽₍❨❪⟮﴾︵﹙(⦅❲❴⟦⟨⟪⟬⦇⦉⦕⸢⸤︗︷︹︻︽︿﹁﹃﹇﹛﹝[{「«‘“‹❮") |
| external fun sub2(x: Float, y: Float): Float |
| |
| @WasmImport("./2.mjs", "~!@#\$%^&*()_+`-={}|[]\\\\:\\\";'<>?,./") |
| external fun sub3(x: Float, y: Float): Float |
| |
| @WasmImport("./2.mjs", "") |
| external fun sub4(x: Float, y: Float): Float |
| |
| @WasmImport("./2.mjs", "\n \r \t") |
| external fun sub5(x: Float, y: Float): Float |
| |
| @WasmImport("./2.mjs", "default") |
| external fun sub6(x: Float, y: Float): Float |
| |
| fun box(): String { |
| if (addImportRenamed(5, 6) != 11) return "Fail1" |
| if (add(5, 6) != 11) return "Fail1" |
| giveMeFive(5) |
| |
| if (sub(5f, 6f) != -1f) return "Fail2" |
| if (sub2(5f, 6f) != -1f) return "Fail3" |
| if (sub3(5f, 6f) != -1f) return "Fail4" |
| if (sub4(5f, 6f) != -1f) return "Fail5" |
| if (sub5(5f, 6f) != -1f) return "Fail6" |
| if (sub6(5f, 6f) != -1f) return "Fail7" |
| |
| return "OK" |
| } |