summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/oom/jsapi-prototype.js
blob: 4888a70db02b97c6765f8d7ea4c75e4b7d91f9c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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");
});