test: simplify test-buffer-slice.js
Use forEach loop to reduce some redundant codes. PR-URL: https://github.com/nodejs/node/pull/17962 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jon Moss <me@jonathanmoss.me> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This commit is contained in:
parent
d72c78b19c
commit
a2d0623fa8
@ -28,80 +28,55 @@ assert.strictEqual(0, Buffer.from('hello', 'utf8').slice(0, 0).length);
|
||||
assert.strictEqual(0, Buffer('hello', 'utf8').slice(0, 0).length);
|
||||
|
||||
const buf = Buffer.from('0123456789', 'utf8');
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(-10, 10),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(-20, 10),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(-20, -10),
|
||||
Buffer.from('', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(0),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(0, 0),
|
||||
Buffer.from('', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(undefined),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice('foobar'),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(undefined, undefined),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
const expectedSameBufs = [
|
||||
[buf.slice(-10, 10), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice(-20, 10), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice(-20, -10), Buffer.from('', 'utf8')],
|
||||
[buf.slice(), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice(0), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice(0, 0), Buffer.from('', 'utf8')],
|
||||
[buf.slice(undefined), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice('foobar'), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice(undefined, undefined), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice(2), Buffer.from('23456789', 'utf8')],
|
||||
[buf.slice(5), Buffer.from('56789', 'utf8')],
|
||||
[buf.slice(10), Buffer.from('', 'utf8')],
|
||||
[buf.slice(5, 8), Buffer.from('567', 'utf8')],
|
||||
[buf.slice(8, -1), Buffer.from('8', 'utf8')],
|
||||
[buf.slice(-10), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice(0, -9), Buffer.from('0', 'utf8')],
|
||||
[buf.slice(0, -10), Buffer.from('', 'utf8')],
|
||||
[buf.slice(0, -1), Buffer.from('012345678', 'utf8')],
|
||||
[buf.slice(2, -2), Buffer.from('234567', 'utf8')],
|
||||
[buf.slice(0, 65536), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice(65536, 0), Buffer.from('', 'utf8')],
|
||||
[buf.slice(-5, -8), Buffer.from('', 'utf8')],
|
||||
[buf.slice(-5, -3), Buffer.from('56', 'utf8')],
|
||||
[buf.slice(-10, 10), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice('0', '1'), Buffer.from('0', 'utf8')],
|
||||
[buf.slice('-5', '10'), Buffer.from('56789', 'utf8')],
|
||||
[buf.slice('-10', '10'), Buffer.from('0123456789', 'utf8')],
|
||||
[buf.slice('-10', '-5'), Buffer.from('01234', 'utf8')],
|
||||
[buf.slice('-10', '-0'), Buffer.from('', 'utf8')],
|
||||
[buf.slice('111'), Buffer.from('', 'utf8')],
|
||||
[buf.slice('0', '-111'), Buffer.from('', 'utf8')]
|
||||
];
|
||||
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(2),
|
||||
Buffer.from('23456789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(5),
|
||||
Buffer.from('56789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(10),
|
||||
Buffer.from('', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(5, 8),
|
||||
Buffer.from('567', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(8, -1),
|
||||
Buffer.from('8', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(-10),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(0, -9),
|
||||
Buffer.from('0', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(0, -10),
|
||||
Buffer.from('', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(0, -1),
|
||||
Buffer.from('012345678', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(2, -2),
|
||||
Buffer.from('234567', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(0, 65536),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(65536, 0),
|
||||
Buffer.from('', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(-5, -8),
|
||||
Buffer.from('', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(-5, -3),
|
||||
Buffer.from('56', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(-10, 10),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
for (let i = 0, s = buf; i < buf.length; ++i) {
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(i), s.slice(i)));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(0, i), s.slice(0, i)));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(-i), s.slice(-i)));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice(0, -i), s.slice(0, -i)));
|
||||
for (let i = 0, s = buf.toString(); i < buf.length; ++i) {
|
||||
expectedSameBufs.push(
|
||||
[buf.slice(i), Buffer.from(s.slice(i))],
|
||||
[buf.slice(0, i), Buffer.from(s.slice(0, i))],
|
||||
[buf.slice(-i), Buffer.from(s.slice(-i))],
|
||||
[buf.slice(0, -i), Buffer.from(s.slice(0, -i))]
|
||||
);
|
||||
}
|
||||
|
||||
expectedSameBufs.forEach(([buf1, buf2]) => {
|
||||
assert.strictEqual(0, Buffer.compare(buf1, buf2));
|
||||
});
|
||||
|
||||
const utf16Buf = Buffer.from('0123456789', 'utf16le');
|
||||
assert.deepStrictEqual(utf16Buf.slice(0, 6), Buffer.from('012', 'utf16le'));
|
||||
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice('0', '1'),
|
||||
Buffer.from('0', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice('-5', '10'),
|
||||
Buffer.from('56789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice('-10', '10'),
|
||||
Buffer.from('0123456789', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice('-10', '-5'),
|
||||
Buffer.from('01234', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice('-10', '-0'),
|
||||
Buffer.from('', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice('111'),
|
||||
Buffer.from('', 'utf8')));
|
||||
assert.strictEqual(0, Buffer.compare(buf.slice('0', '-111'),
|
||||
Buffer.from('', 'utf8')));
|
||||
|
||||
// try to slice a zero length Buffer
|
||||
// see https://github.com/joyent/node/issues/5881
|
||||
assert.doesNotThrow(() => Buffer.alloc(0).slice(0, 1));
|
||||
|
Loading…
x
Reference in New Issue
Block a user