// META: global=window,dedicatedworker,jsshell // META: script=/wasm/jsapi/assertions.js // META: script=/wasm/jsapi/memory/assertions.js test(() => { assert_throws_js(TypeError, () => new WebAssembly.Memory({ "initial": 10, "shared": true })); }, "Shared memory without maximum"); test(t => { const order = []; new WebAssembly.Memory({ get maximum() { order.push("maximum"); return { valueOf() { order.push("maximum valueOf"); return 1; }, }; }, get initial() { order.push("initial"); return { valueOf() { order.push("initial valueOf"); return 1; }, }; }, get shared() { order.push("shared"); return { valueOf: t.unreached_func("should not call shared valueOf"), }; }, }); assert_array_equals(order, [ "initial", "initial valueOf", "maximum", "maximum valueOf", "shared", ]); }, "Order of evaluation for descriptor (with shared)"); test(() => { const argument = { "initial": 4, "maximum": 10, shared: true }; const memory = new WebAssembly.Memory(argument); assert_Memory(memory, { "size": 4, "shared": true }); }, "Shared memory");