summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/integration_tests.rs5
-rw-r--r--cli/tests/wasm_streaming.js29
-rw-r--r--cli/tests/wasm_streaming.out1
3 files changed, 35 insertions, 0 deletions
diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs
index 6e487d12f..76f82df23 100644
--- a/cli/tests/integration_tests.rs
+++ b/cli/tests/integration_tests.rs
@@ -2060,6 +2060,11 @@ itest!(wasm_async {
output: "wasm_async.out",
});
+itest!(wasm_streaming {
+ args: "run wasm_streaming.js",
+ output: "wasm_streaming.out",
+});
+
itest!(wasm_unreachable {
args: "run wasm_unreachable.js",
output: "wasm_unreachable.out",
diff --git a/cli/tests/wasm_streaming.js b/cli/tests/wasm_streaming.js
new file mode 100644
index 000000000..6c9457325
--- /dev/null
+++ b/cli/tests/wasm_streaming.js
@@ -0,0 +1,29 @@
+// The following blob can be created by taking the following s-expr and pass
+// it through wat2wasm.
+// (module
+// (func $add (param $a i32) (param $b i32) (result i32)
+// local.get $a
+// local.get $b
+// i32.add)
+// (export "add" (func $add))
+// )
+// deno-fmt-ignore
+const bytes = new Uint8Array([
+ 0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x07, 0x01, 0x60,
+ 0x02, 0x7f, 0x7f, 0x01, 0x7f, 0x03, 0x02, 0x01, 0x00, 0x07, 0x07, 0x01,
+ 0x03, 0x61, 0x64, 0x64, 0x00, 0x00, 0x0a, 0x09, 0x01, 0x07, 0x00, 0x20,
+ 0x00, 0x20, 0x01, 0x6a, 0x0b
+]);
+
+async function main() {
+ const wasm = await WebAssembly.instantiateStreaming(bytes, {
+ });
+
+ const result = wasm.instance.exports.add(1, 3);
+ console.log("1 + 3 =", result);
+ if (result != 4) {
+ throw Error("bad");
+ }
+}
+
+main();
diff --git a/cli/tests/wasm_streaming.out b/cli/tests/wasm_streaming.out
new file mode 100644
index 000000000..5cdf17de7
--- /dev/null
+++ b/cli/tests/wasm_streaming.out
@@ -0,0 +1 @@
+1 + 3 = 4