diff options
Diffstat (limited to 'js/src/jit-test/tests/wasm/oom/jsapi-prototype.js')
-rw-r--r-- | js/src/jit-test/tests/wasm/oom/jsapi-prototype.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/oom/jsapi-prototype.js b/js/src/jit-test/tests/wasm/oom/jsapi-prototype.js new file mode 100644 index 0000000000..4888a70db0 --- /dev/null +++ b/js/src/jit-test/tests/wasm/oom/jsapi-prototype.js @@ -0,0 +1,29 @@ +// |jit-test| skip-if: !('oomTest' in this) + +oomTest(() => { + let memory = new WebAssembly.Memory({initial: 0}); + assertEq(Object.getPrototypeOf(memory), WebAssembly.Memory.prototype, "prototype"); +}); + +oomTest(() => { + let global = new WebAssembly.Global({value: 'i32'}); + assertEq(Object.getPrototypeOf(global), WebAssembly.Global.prototype, "prototype"); +}); + +oomTest(() => { + let table = new WebAssembly.Table({element: 'anyfunc', initial: 0}); + assertEq(Object.getPrototypeOf(table), WebAssembly.Table.prototype, "prototype"); +}); + +oomTest(() => { + let bytecode = wasmTextToBinary('(module)'); + let module = new WebAssembly.Module(bytecode); + assertEq(Object.getPrototypeOf(module), WebAssembly.Module.prototype, "prototype"); +}); + +oomTest(() => { + let bytecode = wasmTextToBinary('(module)'); + let module = new WebAssembly.Module(bytecode); + let instance = new WebAssembly.Instance(module, {}); + assertEq(Object.getPrototypeOf(instance), WebAssembly.Instance.prototype, "prototype"); +}); |