Skip to content

Commit 1c4aa61

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 6f33953 commit 1c4aa61

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
@@ -7,80 +7,55 @@ assert.strictEqual(0, Buffer.from('hello', 'utf8').slice(0, 0).length);
77
assert.strictEqual(0, Buffer('hello', 'utf8').slice(0, 0).length);
88

99
const buf = Buffer.from('0123456789', 'utf8');
10-
assert.strictEqual(0, Buffer.compare(buf.slice(-10, 10),
11-
Buffer.from('0123456789', 'utf8')));
12-
assert.strictEqual(0, Buffer.compare(buf.slice(-20, 10),
13-
Buffer.from('0123456789', 'utf8')));
14-
assert.strictEqual(0, Buffer.compare(buf.slice(-20, -10),
15-
Buffer.from('', 'utf8')));
16-
assert.strictEqual(0, Buffer.compare(buf.slice(),
17-
Buffer.from('0123456789', 'utf8')));
18-
assert.strictEqual(0, Buffer.compare(buf.slice(0),
19-
Buffer.from('0123456789', 'utf8')));
20-
assert.strictEqual(0, Buffer.compare(buf.slice(0, 0),
21-
Buffer.from('', 'utf8')));
22-
assert.strictEqual(0, Buffer.compare(buf.slice(undefined),
23-
Buffer.from('0123456789', 'utf8')));
24-
assert.strictEqual(0, Buffer.compare(buf.slice('foobar'),
25-
Buffer.from('0123456789', 'utf8')));
26-
assert.strictEqual(0, Buffer.compare(buf.slice(undefined, undefined),
27-
Buffer.from('0123456789', 'utf8')));
10+
const expectedSameBufs = [
11+
[buf.slice(-10, 10), Buffer.from('0123456789', 'utf8')],
12+
[buf.slice(-20, 10), Buffer.from('0123456789', 'utf8')],
13+
[buf.slice(-20, -10), Buffer.from('', 'utf8')],
14+
[buf.slice(), Buffer.from('0123456789', 'utf8')],
15+
[buf.slice(0), Buffer.from('0123456789', 'utf8')],
16+
[buf.slice(0, 0), Buffer.from('', 'utf8')],
17+
[buf.slice(undefined), Buffer.from('0123456789', 'utf8')],
18+
[buf.slice('foobar'), Buffer.from('0123456789', 'utf8')],
19+
[buf.slice(undefined, undefined), Buffer.from('0123456789', 'utf8')],
20+
[buf.slice(2), Buffer.from('23456789', 'utf8')],
21+
[buf.slice(5), Buffer.from('56789', 'utf8')],
22+
[buf.slice(10), Buffer.from('', 'utf8')],
23+
[buf.slice(5, 8), Buffer.from('567', 'utf8')],
24+
[buf.slice(8, -1), Buffer.from('8', 'utf8')],
25+
[buf.slice(-10), Buffer.from('0123456789', 'utf8')],
26+
[buf.slice(0, -9), Buffer.from('0', 'utf8')],
27+
[buf.slice(0, -10), Buffer.from('', 'utf8')],
28+
[buf.slice(0, -1), Buffer.from('012345678', 'utf8')],
29+
[buf.slice(2, -2), Buffer.from('234567', 'utf8')],
30+
[buf.slice(0, 65536), Buffer.from('0123456789', 'utf8')],
31+
[buf.slice(65536, 0), Buffer.from('', 'utf8')],
32+
[buf.slice(-5, -8), Buffer.from('', 'utf8')],
33+
[buf.slice(-5, -3), Buffer.from('56', 'utf8')],
34+
[buf.slice(-10, 10), Buffer.from('0123456789', 'utf8')],
35+
[buf.slice('0', '1'), Buffer.from('0', 'utf8')],
36+
[buf.slice('-5', '10'), Buffer.from('56789', 'utf8')],
37+
[buf.slice('-10', '10'), Buffer.from('0123456789', 'utf8')],
38+
[buf.slice('-10', '-5'), Buffer.from('01234', 'utf8')],
39+
[buf.slice('-10', '-0'), Buffer.from('', 'utf8')],
40+
[buf.slice('111'), Buffer.from('', 'utf8')],
41+
[buf.slice('0', '-111'), Buffer.from('', 'utf8')]
42+
];
2843

29-
assert.strictEqual(0, Buffer.compare(buf.slice(2),
30-
Buffer.from('23456789', 'utf8')));
31-
assert.strictEqual(0, Buffer.compare(buf.slice(5),
32-
Buffer.from('56789', 'utf8')));
33-
assert.strictEqual(0, Buffer.compare(buf.slice(10),
34-
Buffer.from('', 'utf8')));
35-
assert.strictEqual(0, Buffer.compare(buf.slice(5, 8),
36-
Buffer.from('567', 'utf8')));
37-
assert.strictEqual(0, Buffer.compare(buf.slice(8, -1),
38-
Buffer.from('8', 'utf8')));
39-
assert.strictEqual(0, Buffer.compare(buf.slice(-10),
40-
Buffer.from('0123456789', 'utf8')));
41-
assert.strictEqual(0, Buffer.compare(buf.slice(0, -9),
42-
Buffer.from('0', 'utf8')));
43-
assert.strictEqual(0, Buffer.compare(buf.slice(0, -10),
44-
Buffer.from('', 'utf8')));
45-
assert.strictEqual(0, Buffer.compare(buf.slice(0, -1),
46-
Buffer.from('012345678', 'utf8')));
47-
assert.strictEqual(0, Buffer.compare(buf.slice(2, -2),
48-
Buffer.from('234567', 'utf8')));
49-
assert.strictEqual(0, Buffer.compare(buf.slice(0, 65536),
50-
Buffer.from('0123456789', 'utf8')));
51-
assert.strictEqual(0, Buffer.compare(buf.slice(65536, 0),
52-
Buffer.from('', 'utf8')));
53-
assert.strictEqual(0, Buffer.compare(buf.slice(-5, -8),
54-
Buffer.from('', 'utf8')));
55-
assert.strictEqual(0, Buffer.compare(buf.slice(-5, -3),
56-
Buffer.from('56', 'utf8')));
57-
assert.strictEqual(0, Buffer.compare(buf.slice(-10, 10),
58-
Buffer.from('0123456789', 'utf8')));
59-
for (let i = 0, s = buf; i < buf.length; ++i) {
60-
assert.strictEqual(0, Buffer.compare(buf.slice(i), s.slice(i)));
61-
assert.strictEqual(0, Buffer.compare(buf.slice(0, i), s.slice(0, i)));
62-
assert.strictEqual(0, Buffer.compare(buf.slice(-i), s.slice(-i)));
63-
assert.strictEqual(0, Buffer.compare(buf.slice(0, -i), s.slice(0, -i)));
44+
for (let i = 0, s = buf.toString(); i < buf.length; ++i) {
45+
expectedSameBufs.push(
46+
[buf.slice(i), Buffer.from(s.slice(i))],
47+
[buf.slice(0, i), Buffer.from(s.slice(0, i))],
48+
[buf.slice(-i), Buffer.from(s.slice(-i))],
49+
[buf.slice(0, -i), Buffer.from(s.slice(0, -i))]
50+
);
6451
}
6552

53+
expectedSameBufs.forEach(([buf1, buf2]) => {
54+
assert.strictEqual(0, Buffer.compare(buf1, buf2));
55+
});
56+
6657
const utf16Buf = Buffer.from('0123456789', 'utf16le');
6758
assert.deepStrictEqual(utf16Buf.slice(0, 6), Buffer.from('012', 'utf16le'));
68-
69-
assert.strictEqual(0, Buffer.compare(buf.slice('0', '1'),
70-
Buffer.from('0', 'utf8')));
71-
assert.strictEqual(0, Buffer.compare(buf.slice('-5', '10'),
72-
Buffer.from('56789', 'utf8')));
73-
assert.strictEqual(0, Buffer.compare(buf.slice('-10', '10'),
74-
Buffer.from('0123456789', 'utf8')));
75-
assert.strictEqual(0, Buffer.compare(buf.slice('-10', '-5'),
76-
Buffer.from('01234', 'utf8')));
77-
assert.strictEqual(0, Buffer.compare(buf.slice('-10', '-0'),
78-
Buffer.from('', 'utf8')));
79-
assert.strictEqual(0, Buffer.compare(buf.slice('111'),
80-
Buffer.from('', 'utf8')));
81-
assert.strictEqual(0, Buffer.compare(buf.slice('0', '-111'),
82-
Buffer.from('', 'utf8')));
83-
8459
// try to slice a zero length Buffer
8560
// see https://github.com/joyent/node/issues/5881
8661
assert.doesNotThrow(() => Buffer.alloc(0).slice(0, 1));

0 commit comments

Comments
 (0)