// TARGET_BACKEND: WASM // DISABLE_WASM_EXCEPTION_HANDLING // MODULE: main // FILE: foo.kt @JsExport fun sumNumbers(x: Int): Int = (0..x).toList().sum() @JsExport fun add(x: Int, y: Int): Int = x + y @JsExport fun throws() { try { error("Test Error") } catch (e: Throwable) { // This code normally catches the error, // but with exception handling disabled it should fail with trap } } // FILE: entry.mjs import wasmExports from "./index.mjs"; if (wasmExports.add(10, 20) !== 30) { throw "Fail add"; } if (wasmExports.sumNumbers(10) !== 55) { throw "Fail sumNumbers"; } var thrown = false; try { wasmExports.throws(); } catch(e) { thrown = true; } if (!thrown) { throw "Fail exception was not thrown"; }