test: make buffer sizes 32bit-aware in test-internal-util-construct-sab

PR-URL: https://github.com/nodejs/node/pull/61026
Fixes: https://github.com/nodejs/node/issues/61025
Refs: https://github.com/nodejs/node/pull/60497
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit is contained in:
René
2025-12-20 22:20:21 +00:00
committed by GitHub
parent dff46c07c3
commit ed6ec9626e

View File

@@ -3,16 +3,20 @@
require('../common');
const assert = require('assert');
const { kMaxLength } = require('buffer');
const { isSharedArrayBuffer } = require('util/types');
const { constructSharedArrayBuffer } = require('internal/util');
// We're testing that we can construct a SAB even when the global is not exposed.
assert.strictEqual(typeof SharedArrayBuffer, 'undefined');
for (const length of [undefined, 0, 1, 2 ** 32]) {
for (const length of [undefined, 0, 1, 2 ** 16]) {
assert(isSharedArrayBuffer(constructSharedArrayBuffer(length)));
}
for (const length of [-1, Number.MAX_SAFE_INTEGER + 1, 2 ** 64]) {
// Specifically test the following cases:
// - out-of-range allocation requests should not crash the process
// - no int64 overflow
for (const length of [-1, kMaxLength + 1, 2 ** 64]) {
assert.throws(() => constructSharedArrayBuffer(length), RangeError);
}