| // META: global=window,dedicatedworker,jsshell |
| // META: script=/wasm/jsapi/assertions.js |
| // META: script=/wasm/jsapi/wasm-module-builder.js |
| |
| let emptyModuleBinary; |
| setup(() => { |
| emptyModuleBinary = new WasmModuleBuilder().toBuffer(); |
| }); |
| |
| test(() => { |
| class _Module extends WebAssembly.Module {} |
| let module = new _Module(emptyModuleBinary); |
| assert_true(module instanceof _Module, "_Module instanceof _Module"); |
| assert_true(module instanceof WebAssembly.Module, "_Module instanceof WebAssembly.Module"); |
| }, "_Module"); |
| |
| test(() => { |
| class _Instance extends WebAssembly.Instance {} |
| let instance = new _Instance(new WebAssembly.Module(emptyModuleBinary)); |
| assert_true(instance instanceof _Instance, "_Instance instanceof _Instance"); |
| assert_true(instance instanceof WebAssembly.Instance, "_Instance instanceof WebAssembly.Instance"); |
| }, "_Instance"); |
| |
| test(() => { |
| class _Memory extends WebAssembly.Memory {} |
| let memory = new _Memory({initial: 0, maximum: 1}); |
| assert_true(memory instanceof _Memory, "_Memory instanceof _Memory"); |
| assert_true(memory instanceof WebAssembly.Memory, "_Memory instanceof WebAssembly.Memory"); |
| }, "_Memory"); |
| |
| test(() => { |
| class _Table extends WebAssembly.Table {} |
| let table = new _Table({initial: 0, element: "anyfunc"}); |
| assert_true(table instanceof _Table, "_Table instanceof _Table"); |
| assert_true(table instanceof WebAssembly.Table, "_Table instanceof WebAssembly.Table"); |
| }, "_Table"); |
| |
| test(() => { |
| class _Global extends WebAssembly.Global {} |
| let global = new _Global({value: "i32", mutable: false}, 0); |
| assert_true(global instanceof _Global, "_Global instanceof _Global"); |
| assert_true(global instanceof WebAssembly.Global, "_Global instanceof WebAssembly.Global"); |
| }, "_Global"); |