diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ports/webassembly/await_error_handling.mjs | 22 | ||||
| -rw-r--r-- | tests/ports/webassembly/await_error_handling.mjs.exp | 5 |
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/ports/webassembly/await_error_handling.mjs b/tests/ports/webassembly/await_error_handling.mjs new file mode 100644 index 000000000..067bc2513 --- /dev/null +++ b/tests/ports/webassembly/await_error_handling.mjs @@ -0,0 +1,22 @@ +// Test await'ing on a JavaScript async function that throws a JavaScript Error. + +const mp = await (await import(process.argv[2])).loadMicroPython(); + +globalThis.foo = async () => { + console.log(2); + throw Error("test"); +}; + +await mp.runPythonAsync(` +import js, jsffi +print(1) +try: + await js.foo() +except jsffi.JsException as er: + error = er +print(error) +print(3) +`); + +const error = mp.globals.get("error"); +console.log(error instanceof Error, error.name, error.message); diff --git a/tests/ports/webassembly/await_error_handling.mjs.exp b/tests/ports/webassembly/await_error_handling.mjs.exp new file mode 100644 index 000000000..149f8914d --- /dev/null +++ b/tests/ports/webassembly/await_error_handling.mjs.exp @@ -0,0 +1,5 @@ +1 +2 +(<JsProxy 6>, 'Error', 'test') +3 +true Error test |
