diff options
Diffstat (limited to 'cli/tests')
-rw-r--r-- | cli/tests/integration_tests.rs | 5 | ||||
-rw-r--r-- | cli/tests/wasm_streaming.js | 29 | ||||
-rw-r--r-- | cli/tests/wasm_streaming.out | 1 |
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 |