constructor-shared.tentative.any.js (1249B)
1 // META: global=window,dedicatedworker,jsshell,shadowrealm 2 // META: script=/wasm/jsapi/assertions.js 3 // META: script=/wasm/jsapi/memory/assertions.js 4 5 test(() => { 6 assert_throws_js(TypeError, () => new WebAssembly.Memory({ "initial": 10, "shared": true })); 7 }, "Shared memory without maximum"); 8 9 test(t => { 10 const order = []; 11 12 new WebAssembly.Memory({ 13 get maximum() { 14 order.push("maximum"); 15 return { 16 valueOf() { 17 order.push("maximum valueOf"); 18 return 1; 19 }, 20 }; 21 }, 22 23 get initial() { 24 order.push("initial"); 25 return { 26 valueOf() { 27 order.push("initial valueOf"); 28 return 1; 29 }, 30 }; 31 }, 32 33 get shared() { 34 order.push("shared"); 35 return { 36 valueOf: t.unreached_func("should not call shared valueOf"), 37 }; 38 }, 39 }); 40 41 assert_array_equals(order, [ 42 "initial", 43 "initial valueOf", 44 "maximum", 45 "maximum valueOf", 46 "shared", 47 ]); 48 }, "Order of evaluation for descriptor (with shared)"); 49 50 test(() => { 51 const argument = { "initial": 4, "maximum": 10, shared: true }; 52 const memory = new WebAssembly.Memory(argument); 53 assert_Memory(memory, { "size": 4, "shared": true }); 54 }, "Shared memory");