| // META: global=window,dedicatedworker,jsshell,shadowrealm |
| // META: script=/wasm/jsapi/memory/assertions.js |
| |
| test(() => { |
| const tag = new WebAssembly.Tag({ parameters: [] }); |
| const exn = new WebAssembly.Exception(tag, []); |
| assert_throws_js(TypeError, () => exn.is()); |
| }, "Missing arguments"); |
| |
| test(() => { |
| const invalidValues = [undefined, null, true, "", Symbol(), 1, {}]; |
| const tag = new WebAssembly.Tag({ parameters: [] }); |
| const exn = new WebAssembly.Exception(tag, []); |
| for (argument of invalidValues) { |
| assert_throws_js(TypeError, () => exn.is(argument)); |
| } |
| }, "Invalid exception argument"); |
| |
| test(() => { |
| const tag1 = new WebAssembly.Tag({ parameters: ["i32"] }); |
| const tag2 = new WebAssembly.Tag({ parameters: ["i32"] }); |
| const exn = new WebAssembly.Exception(tag1, [42]); |
| assert_true(exn.is(tag1)); |
| assert_false(exn.is(tag2)); |
| }, "is"); |