summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ports/webassembly/js_proxy_iterator.mjs14
-rw-r--r--tests/ports/webassembly/js_proxy_iterator.mjs.exp4
2 files changed, 18 insertions, 0 deletions
diff --git a/tests/ports/webassembly/js_proxy_iterator.mjs b/tests/ports/webassembly/js_proxy_iterator.mjs
new file mode 100644
index 000000000..34b54b483
--- /dev/null
+++ b/tests/ports/webassembly/js_proxy_iterator.mjs
@@ -0,0 +1,14 @@
+// Test accessing JavaScript iterables (objects with Symbol.iterator) from Python.
+
+const mp = await (await import(process.argv[2])).loadMicroPython();
+
+mp.runPython(`
+import js
+
+for v in js.Set.new([1, 2]):
+ print(v)
+
+url_search_params = js.URLSearchParams.new("one=1&two=2")
+for key in url_search_params.keys():
+ print(key, list(url_search_params.getAll(key)))
+`);
diff --git a/tests/ports/webassembly/js_proxy_iterator.mjs.exp b/tests/ports/webassembly/js_proxy_iterator.mjs.exp
new file mode 100644
index 000000000..e8d11286c
--- /dev/null
+++ b/tests/ports/webassembly/js_proxy_iterator.mjs.exp
@@ -0,0 +1,4 @@
+1
+2
+one ['1']
+two ['2']