mirror of https://github.com/nodejs/node.git
55 lines
1.2 KiB
JavaScript
55 lines
1.2 KiB
JavaScript
// 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");
|