Skip to content

Commit f87a1a6

Browse files
starkwangMylesBorins
authored andcommitted
test: simplify test-buffer-slice.js
Use forEach loop to reduce some redundant codes. PR-URL: #17962 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Jon Moss <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]>
1 parent 3cc9882 commit f87a1a6

File tree

1 file changed

+44
-69
lines changed

1 file changed

+44
-69
lines changed

test/parallel/test-buffer-slice.js

+44-69
Original file line numberDiff line numberDiff line change
@@ -28,80 +28,55 @@ assert.strictEqual(0, Buffer.from('hello', 'utf8').slice(0, 0).length);
2828
assert.strictEqual(0, Buffer('hello', 'utf8').slice(0, 0).length);
2929

3030
const buf = Buffer.from('0123456789', 'utf8');
31-
assert.strictEqual(0, Buffer.compare(buf.slice(-10, 10),
32-
Buffer.from('0123456789', 'utf8')));
33-
assert.strictEqual(0, Buffer.compare(buf.slice(-20, 10),
34-
Buffer.from('0123456789', 'utf8')));
35-
assert.strictEqual(0, Buffer.compare(buf.slice(-20, -10),
36-
Buffer.from('', 'utf8')));
37-
assert.strictEqual(0, Buffer.compare(buf.slice(),
38-
Buffer.from('0123456789', 'utf8')));
39-
assert.strictEqual(0, Buffer.compare(buf.slice(0),
40-
Buffer.from('0123456789', 'utf8')));
41-
assert.strictEqual(0, Buffer.compare(buf.slice(0, 0),
42-
Buffer.from('', 'utf8')));
43-
assert.strictEqual(0, Buffer.compare(buf.slice(undefined),
44-
Buffer.from('0123456789', 'utf8')));
45-
assert.strictEqual(0, Buffer.compare(buf.slice('foobar'),
46-
Buffer.from('0123456789', 'utf8')));
47-
assert.strictEqual(0, Buffer.compare(buf.slice(undefined, undefined),
48-
Buffer.from('0123456789', 'utf8')));
31+
const expectedSameBufs = [
32+
[buf.slice(-10, 10), Buffer.from('0123456789', 'utf8')],
33+
[buf.slice(-20, 10), Buffer.from('0123456789', 'utf8')],
34+
[buf.slice(-20, -10), Buffer.from('', 'utf8')],
35+
[buf.slice(), Buffer.from('0123456789', 'utf8')],
36+
[buf.slice(0), Buffer.from('0123456789', 'utf8')],
37+
[buf.slice(0, 0), Buffer.from('', 'utf8')],
38+
[buf.slice(undefined), Buffer.from('0123456789', 'utf8')],
39+
[buf.slice('foobar'), Buffer.from('0123456789', 'utf8')],
40+
[buf.slice(undefined, undefined), Buffer.from('0123456789', 'utf8')],
41+
[buf.slice(2), Buffer.from('23456789', 'utf8')],
42+
[buf.slice(5), Buffer.from('56789', 'utf8')],
43+
[buf.slice(10), Buffer.from('', 'utf8')],
44+
[buf.slice(5, 8), Buffer.from('567', 'utf8')],
45+
[buf.slice(8, -1), Buffer.from('8', 'utf8')],
46+
[buf.slice(-10), Buffer.from('0123456789', 'utf8')],
47+
[buf.slice(0, -9), Buffer.from('0', 'utf8')],
48+
[buf.slice(0, -10), Buffer.from('', 'utf8')],
49+
[buf.slice(0, -1), Buffer.from('012345678', 'utf8')],
50+
[buf.slice(2, -2), Buffer.from('234567', 'utf8')],
51+
[buf.slice(0, 65536), Buffer.from('0123456789', 'utf8')],
52+
[buf.slice(65536, 0), Buffer.from('', 'utf8')],
53+
[buf.slice(-5, -8), Buffer.from('', 'utf8')],
54+
[buf.slice(-5, -3), Buffer.from('56', 'utf8')],
55+
[buf.slice(-10, 10), Buffer.from('0123456789', 'utf8')],
56+
[buf.slice('0', '1'), Buffer.from('0', 'utf8')],
57+
[buf.slice('-5', '10'), Buffer.from('56789', 'utf8')],
58+
[buf.slice('-10', '10'), Buffer.from('0123456789', 'utf8')],
59+
[buf.slice('-10', '-5'), Buffer.from('01234', 'utf8')],
60+
[buf.slice('-10', '-0'), Buffer.from('', 'utf8')],
61+
[buf.slice('111'), Buffer.from('', 'utf8')],
62+
[buf.slice('0', '-111'), Buffer.from('', 'utf8')]
63+
];
4964

50-
assert.strictEqual(0, Buffer.compare(buf.slice(2),
51-
Buffer.from('23456789', 'utf8')));
52-
assert.strictEqual(0, Buffer.compare(buf.slice(5),
53-
Buffer.from('56789', 'utf8')));
54-
assert.strictEqual(0, Buffer.compare(buf.slice(10),
55-
Buffer.from('', 'utf8')));
56-
assert.strictEqual(0, Buffer.compare(buf.slice(5, 8),
57-
Buffer.from('567', 'utf8')));
58-
assert.strictEqual(0, Buffer.compare(buf.slice(8, -1),
59-
Buffer.from('8', 'utf8')));
60-
assert.strictEqual(0, Buffer.compare(buf.slice(-10),
61-
Buffer.from('0123456789', 'utf8')));
62-
assert.strictEqual(0, Buffer.compare(buf.slice(0, -9),
63-
Buffer.from('0', 'utf8')));
64-
assert.strictEqual(0, Buffer.compare(buf.slice(0, -10),
65-
Buffer.from('', 'utf8')));
66-
assert.strictEqual(0, Buffer.compare(buf.slice(0, -1),
67-
Buffer.from('012345678', 'utf8')));
68-
assert.strictEqual(0, Buffer.compare(buf.slice(2, -2),
69-
Buffer.from('234567', 'utf8')));
70-
assert.strictEqual(0, Buffer.compare(buf.slice(0, 65536),
71-
Buffer.from('0123456789', 'utf8')));
72-
assert.strictEqual(0, Buffer.compare(buf.slice(65536, 0),
73-
Buffer.from('', 'utf8')));
74-
assert.strictEqual(0, Buffer.compare(buf.slice(-5, -8),
75-
Buffer.from('', 'utf8')));
76-
assert.strictEqual(0, Buffer.compare(buf.slice(-5, -3),
77-
Buffer.from('56', 'utf8')));
78-
assert.strictEqual(0, Buffer.compare(buf.slice(-10, 10),
79-
Buffer.from('0123456789', 'utf8')));
80-
for (let i = 0, s = buf; i < buf.length; ++i) {
81-
assert.strictEqual(0, Buffer.compare(buf.slice(i), s.slice(i)));
82-
assert.strictEqual(0, Buffer.compare(buf.slice(0, i), s.slice(0, i)));
83-
assert.strictEqual(0, Buffer.compare(buf.slice(-i), s.slice(-i)));
84-
assert.strictEqual(0, Buffer.compare(buf.slice(0, -i), s.slice(0, -i)));
65+
for (let i = 0, s = buf.toString(); i < buf.length; ++i) {
66+
expectedSameBufs.push(
67+
[buf.slice(i), Buffer.from(s.slice(i))],
68+
[buf.slice(0, i), Buffer.from(s.slice(0, i))],
69+
[buf.slice(-i), Buffer.from(s.slice(-i))],
70+
[buf.slice(0, -i), Buffer.from(s.slice(0, -i))]
71+
);
8572
}
8673

74+
expectedSameBufs.forEach(([buf1, buf2]) => {
75+
assert.strictEqual(0, Buffer.compare(buf1, buf2));
76+
});
77+
8778
const utf16Buf = Buffer.from('0123456789', 'utf16le');
8879
assert.deepStrictEqual(utf16Buf.slice(0, 6), Buffer.from('012', 'utf16le'));
89-
90-
assert.strictEqual(0, Buffer.compare(buf.slice('0', '1'),
91-
Buffer.from('0', 'utf8')));
92-
assert.strictEqual(0, Buffer.compare(buf.slice('-5', '10'),
93-
Buffer.from('56789', 'utf8')));
94-
assert.strictEqual(0, Buffer.compare(buf.slice('-10', '10'),
95-
Buffer.from('0123456789', 'utf8')));
96-
assert.strictEqual(0, Buffer.compare(buf.slice('-10', '-5'),
97-
Buffer.from('01234', 'utf8')));
98-
assert.strictEqual(0, Buffer.compare(buf.slice('-10', '-0'),
99-
Buffer.from('', 'utf8')));
100-
assert.strictEqual(0, Buffer.compare(buf.slice('111'),
101-
Buffer.from('', 'utf8')));
102-
assert.strictEqual(0, Buffer.compare(buf.slice('0', '-111'),
103-
Buffer.from('', 'utf8')));
104-
10580
// try to slice a zero length Buffer
10681
// see https://github.com/joyent/node/issues/5881
10782
assert.doesNotThrow(() => Buffer.alloc(0).slice(0, 1));

0 commit comments

Comments
 (0)