Skip to content

Commit

Permalink
test: fixed error message in test-buffer-read
Browse files Browse the repository at this point in the history
PR-URL: #23957
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
  • Loading branch information
arvind3157 authored and Trott committed Oct 31, 2018
1 parent c515e5c commit e35f671
Showing 1 changed file with 26 additions and 14 deletions.
40 changes: 26 additions & 14 deletions test/parallel/test-buffer-read.js
Expand Up @@ -51,34 +51,46 @@ read(buf, 'readUInt32LE', [1], 0xcfea48fd);
read(buf, 'readUIntBE', [2, 2], 0x48ea); read(buf, 'readUIntBE', [2, 2], 0x48ea);
read(buf, 'readUIntLE', [2, 2], 0xea48); 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 // Attempt to overflow buffers, similar to previous bug in array buffers
assert.throws(() => Buffer.allocUnsafe(8).readFloatBE(0xffffffff), assert.throws(
RangeError); () => Buffer.allocUnsafe(8).readFloatBE(0xffffffff), OOR_ERROR);
assert.throws(() => Buffer.allocUnsafe(8).readFloatLE(0xffffffff),
RangeError); assert.throws(
() => Buffer.allocUnsafe(8).readFloatLE(0xffffffff), OOR_ERROR);


// Ensure negative values can't get past offset // Ensure negative values can't get past offset
assert.throws(() => Buffer.allocUnsafe(8).readFloatBE(-1), RangeError); assert.throws(
assert.throws(() => Buffer.allocUnsafe(8).readFloatLE(-1), RangeError); () => Buffer.allocUnsafe(8).readFloatBE(-1), OOR_ERROR);
assert.throws(
() => Buffer.allocUnsafe(8).readFloatLE(-1), OOR_ERROR);


// Offset checks // Offset checks
{ {
const buf = Buffer.allocUnsafe(0); const buf = Buffer.allocUnsafe(0);


assert.throws(() => buf.readUInt8(0), RangeError); assert.throws(
assert.throws(() => buf.readInt8(0), RangeError); () => buf.readUInt8(0), OOB_ERROR);
assert.throws(
() => buf.readInt8(0), OOB_ERROR);
} }


[16, 32].forEach((bit) => { [16, 32].forEach((bit) => {
const buf = Buffer.allocUnsafe(bit / 8 - 1); const buf = Buffer.allocUnsafe(bit / 8 - 1);
[`Int${bit}B`, `Int${bit}L`, `UInt${bit}B`, `UInt${bit}L`].forEach((fn) => { [`Int${bit}B`, `Int${bit}L`, `UInt${bit}B`, `UInt${bit}L`].forEach((fn) => {
assert.throws( assert.throws(
() => buf[`read${fn}E`](0), () => buf[`read${fn}E`](0), OOB_ERROR);
{
name: 'RangeError [ERR_BUFFER_OUT_OF_BOUNDS]',
message: 'Attempt to write outside buffer bounds'
}
);
}); });
}); });


Expand Down

0 comments on commit e35f671

Please sign in to comment.