summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWeijia Wang <381152119@qq.com>2018-01-03 16:59:32 +0800
committerMyles Borins <mylesborins@google.com>2018-02-12 19:28:33 -0500
commit1c4aa6138831e421ea4135b55101f427124706c5 (patch)
treee7b9ad9f2340e2ba7d76672ba170b73826c08de5
parent6f33953d9022d3066ef6ac9d2378ae51d16102ba (diff)
downloadnode-new-1c4aa6138831e421ea4135b55101f427124706c5.tar.gz
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>
-rw-r--r--test/parallel/test-buffer-slice.js113
1 files changed, 44 insertions, 69 deletions
diff --git a/test/parallel/test-buffer-slice.js b/test/parallel/test-buffer-slice.js
index b43654b952..b6760785a4 100644
--- a/test/parallel/test-buffer-slice.js
+++ b/test/parallel/test-buffer-slice.js
@@ -7,80 +7,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));