MCPcopy Create free account
hub / github.com/nodejs/node / assert_ArrayBuffer

Function assert_ArrayBuffer

test/fixtures/wpt/wasm/jsapi/memory/assertions.js:1–28  ·  view source on GitHub ↗
(actual, { size=0, shared=false, detached=false }, message)

Source from the content-addressed store, hash-verified

1function assert_ArrayBuffer(actual, { size=0, shared=false, detached=false }, message) {
2 // https://github.com/WebAssembly/spec/issues/840
3 // See https://github.com/whatwg/html/issues/5380 for why not `self.SharedArrayBuffer`
4 const isShared = !("isView" in actual.constructor);
5 assert_equals(isShared, shared, `${message}: constructor`);
6 const sharedString = shared ? "Shared" : "";
7 assert_equals(actual.toString(), `[object ${sharedString}ArrayBuffer]`, `${message}: toString()`);
8 assert_equals(Object.getPrototypeOf(actual).toString(), `[object ${sharedString}ArrayBuffer]`, `${message}: prototype toString()`);
9 if (detached) {
10 // https://github.com/tc39/ecma262/issues/678
11 let byteLength;
12 try {
13 byteLength = actual.byteLength;
14 } catch (e) {
15 byteLength = 0;
16 }
17 assert_equals(byteLength, 0, `${message}: detached size`);
18 } else {
19 assert_equals(actual.byteLength, 0x10000 * size, `${message}: size`);
20 if (size > 0) {
21 const array = new Uint8Array(actual);
22 assert_equals(array[0], 0, `${message}: first element`);
23 assert_equals(array[array.byteLength - 1], 0, `${message}: last element`);
24 }
25 }
26 assert_equals(Object.isFrozen(actual), shared, "buffer frozen");
27 assert_equals(Object.isExtensible(actual), !shared, "buffer extensibility");
28}
29globalThis.assert_ArrayBuffer = assert_ArrayBuffer;
30
31function assert_Memory(memory, { size=0, shared=false }) {

Callers 2

assert_MemoryFunction · 0.70
grow.any.jsFile · 0.70

Calls 2

assert_equalsFunction · 0.50
toStringMethod · 0.45

Tested by

no test coverage detected