Files
node/test/parallel/test-webcrypto-random-backing-buffer.js
Filip Skokan e329423cd8 crypto: convert getRandomValues views
Apply Web IDL view conversion before checking the integer array type,
including shared and resizable backing-buffer restrictions.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
PR-URL: https://github.com/nodejs/node/pull/66237
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Aviv Keller <me@aviv.sh>
2026-09-25 13:23:07 +00:00

21 lines
546 B
JavaScript

'use strict';
const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');
const assert = require('assert');
for (const buffer of [
new SharedArrayBuffer(8),
new SharedArrayBuffer(8, { maxByteLength: 16 }),
new ArrayBuffer(8, { maxByteLength: 16 }),
]) {
for (const Type of [Uint8Array, Float32Array, DataView]) {
assert.throws(() => crypto.getRandomValues(new Type(buffer)), TypeError);
}
}
assert.throws(() => crypto.getRandomValues(new Proxy(new Uint8Array(8), {})),
TypeError);