mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
test: fixed error message in test-buffer-read
PR-URL: https://github.com/nodejs/node/pull/23957 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
This commit is contained in:
committed by
Rich Trott
parent
c515e5c604
commit
e35f671aa7
@@ -51,34 +51,46 @@ read(buf, 'readUInt32LE', [1], 0xcfea48fd);
|
||||
read(buf, 'readUIntBE', [2, 2], 0x48ea);
|
||||
read(buf, 'readUIntLE', [2, 2], 0xea48);
|
||||
|
||||
// Error name and message
|
||||
const OOR_ERROR =
|
||||
{
|
||||
name: 'RangeError [ERR_OUT_OF_RANGE]'
|
||||
};
|
||||
|
||||
const OOB_ERROR =
|
||||
{
|
||||
name: 'RangeError [ERR_BUFFER_OUT_OF_BOUNDS]',
|
||||
message: 'Attempt to write outside buffer bounds'
|
||||
};
|
||||
|
||||
// Attempt to overflow buffers, similar to previous bug in array buffers
|
||||
assert.throws(() => Buffer.allocUnsafe(8).readFloatBE(0xffffffff),
|
||||
RangeError);
|
||||
assert.throws(() => Buffer.allocUnsafe(8).readFloatLE(0xffffffff),
|
||||
RangeError);
|
||||
assert.throws(
|
||||
() => Buffer.allocUnsafe(8).readFloatBE(0xffffffff), OOR_ERROR);
|
||||
|
||||
assert.throws(
|
||||
() => Buffer.allocUnsafe(8).readFloatLE(0xffffffff), OOR_ERROR);
|
||||
|
||||
// Ensure negative values can't get past offset
|
||||
assert.throws(() => Buffer.allocUnsafe(8).readFloatBE(-1), RangeError);
|
||||
assert.throws(() => Buffer.allocUnsafe(8).readFloatLE(-1), RangeError);
|
||||
assert.throws(
|
||||
() => Buffer.allocUnsafe(8).readFloatBE(-1), OOR_ERROR);
|
||||
assert.throws(
|
||||
() => Buffer.allocUnsafe(8).readFloatLE(-1), OOR_ERROR);
|
||||
|
||||
// Offset checks
|
||||
{
|
||||
const buf = Buffer.allocUnsafe(0);
|
||||
|
||||
assert.throws(() => buf.readUInt8(0), RangeError);
|
||||
assert.throws(() => buf.readInt8(0), RangeError);
|
||||
assert.throws(
|
||||
() => buf.readUInt8(0), OOB_ERROR);
|
||||
assert.throws(
|
||||
() => buf.readInt8(0), OOB_ERROR);
|
||||
}
|
||||
|
||||
[16, 32].forEach((bit) => {
|
||||
const buf = Buffer.allocUnsafe(bit / 8 - 1);
|
||||
[`Int${bit}B`, `Int${bit}L`, `UInt${bit}B`, `UInt${bit}L`].forEach((fn) => {
|
||||
assert.throws(
|
||||
() => buf[`read${fn}E`](0),
|
||||
{
|
||||
name: 'RangeError [ERR_BUFFER_OUT_OF_BOUNDS]',
|
||||
message: 'Attempt to write outside buffer bounds'
|
||||
}
|
||||
);
|
||||
() => buf[`read${fn}E`](0), OOB_ERROR);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user