diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ports/webassembly/fun_py_callback_js.mjs | 31 | ||||
| -rw-r--r-- | tests/ports/webassembly/fun_py_callback_js.mjs.exp | 8 |
2 files changed, 39 insertions, 0 deletions
diff --git a/tests/ports/webassembly/fun_py_callback_js.mjs b/tests/ports/webassembly/fun_py_callback_js.mjs new file mode 100644 index 000000000..5541e7a46 --- /dev/null +++ b/tests/ports/webassembly/fun_py_callback_js.mjs @@ -0,0 +1,31 @@ +// Test using Python functions as JS callbacks. + +const mp = await (await import(process.argv[2])).loadMicroPython(); + +globalThis.asyncTimeout = (ms) => + new Promise((resolve) => setTimeout(resolve, ms)); + +mp.runPython(` +import js + +def f0(): + print("f0 run") + +async def f1(): + print("f1 run") + +async def f2(): + print("f2 start") + await js.asyncTimeout(0) + print("f2 end") + +async def f3(): + print("f3 start") + await f2() + print("f3 end") + +js.setTimeout(f0, 0) +js.setTimeout(f1, 50) +js.setTimeout(f2, 100) +js.setTimeout(f3, 150) +`); diff --git a/tests/ports/webassembly/fun_py_callback_js.mjs.exp b/tests/ports/webassembly/fun_py_callback_js.mjs.exp new file mode 100644 index 000000000..732062c84 --- /dev/null +++ b/tests/ports/webassembly/fun_py_callback_js.mjs.exp @@ -0,0 +1,8 @@ +f0 run +f1 run +f2 start +f2 end +f3 start +f2 start +f2 end +f3 end |
