Skip to content

Commit 0142276

Browse files
gweraqrln
authored andcommitted
test: replace indexOf with includes
Start the transition to Array.prototype.includes() and String.prototype.includes(). This commit refactors most of the comparisons of Array.prototype.indexOf() and String.prototype.indexOf() return values with -1 to the former methods in tests. PR-URL: #12604 Refs: #12586 Reviewed-By: Alexey Orlenko <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]>
1 parent 0324ac6 commit 0142276

23 files changed

+83
-83
lines changed

test/addons-napi/test_constructor/test.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ const propertyNames = [];
2222
for (const name in test_object) {
2323
propertyNames.push(name);
2424
}
25-
assert.ok(propertyNames.indexOf('echo') >= 0);
26-
assert.ok(propertyNames.indexOf('readwriteValue') >= 0);
27-
assert.ok(propertyNames.indexOf('readonlyValue') >= 0);
28-
assert.ok(propertyNames.indexOf('hiddenValue') < 0);
29-
assert.ok(propertyNames.indexOf('readwriteAccessor1') < 0);
30-
assert.ok(propertyNames.indexOf('readwriteAccessor2') < 0);
31-
assert.ok(propertyNames.indexOf('readonlyAccessor1') < 0);
32-
assert.ok(propertyNames.indexOf('readonlyAccessor2') < 0);
25+
assert.ok(propertyNames.includes('echo'));
26+
assert.ok(propertyNames.includes('readwriteValue'));
27+
assert.ok(propertyNames.includes('readonlyValue'));
28+
assert.ok(!propertyNames.includes('hiddenValue'));
29+
assert.ok(!propertyNames.includes('readwriteAccessor1'));
30+
assert.ok(!propertyNames.includes('readwriteAccessor2'));
31+
assert.ok(!propertyNames.includes('readonlyAccessor1'));
32+
assert.ok(!propertyNames.includes('readonlyAccessor2'));
3333

3434
// The napi_writable attribute should be ignored for accessors.
3535
test_object.readwriteAccessor1 = 1;

test/addons-napi/test_properties/test.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ const propertyNames = [];
2121
for (const name in test_object) {
2222
propertyNames.push(name);
2323
}
24-
assert.ok(propertyNames.indexOf('echo') >= 0);
25-
assert.ok(propertyNames.indexOf('readwriteValue') >= 0);
26-
assert.ok(propertyNames.indexOf('readonlyValue') >= 0);
27-
assert.ok(propertyNames.indexOf('hiddenValue') < 0);
28-
assert.ok(propertyNames.indexOf('readwriteAccessor1') < 0);
29-
assert.ok(propertyNames.indexOf('readwriteAccessor2') < 0);
30-
assert.ok(propertyNames.indexOf('readonlyAccessor1') < 0);
31-
assert.ok(propertyNames.indexOf('readonlyAccessor2') < 0);
24+
assert.ok(propertyNames.includes('echo'));
25+
assert.ok(propertyNames.includes('readwriteValue'));
26+
assert.ok(propertyNames.includes('readonlyValue'));
27+
assert.ok(!propertyNames.includes('hiddenValue'));
28+
assert.ok(!propertyNames.includes('readwriteAccessor1'));
29+
assert.ok(!propertyNames.includes('readwriteAccessor2'));
30+
assert.ok(!propertyNames.includes('readonlyAccessor1'));
31+
assert.ok(!propertyNames.includes('readonlyAccessor2'));
3232

3333
// The napi_writable attribute should be ignored for accessors.
3434
test_object.readwriteAccessor1 = 1;

test/inspector/test-inspector.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ function checkBadPath(err, response) {
3535
function expectMainScriptSource(result) {
3636
const expected = helper.mainScriptSource();
3737
const source = result['scriptSource'];
38-
assert(source && (source.indexOf(expected) >= 0),
38+
assert(source && (source.includes(expected)),
3939
'Script source is wrong: ' + source);
4040
}
4141

test/parallel/test-child-process-default-options.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,6 @@ child.stdout.on('data', function(chunk) {
4444
});
4545

4646
process.on('exit', function() {
47-
assert.ok(response.indexOf('HELLO=WORLD') >= 0,
47+
assert.ok(response.includes('HELLO=WORLD'),
4848
'spawn did not use process.env as default');
4949
});

test/parallel/test-child-process-env.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,6 @@ child.stdout.on('data', function(chunk) {
5050
});
5151

5252
process.on('exit', function() {
53-
assert.ok(response.indexOf('HELLO=WORLD') >= 0);
54-
assert.ok(response.indexOf('FOO=BAR') >= 0);
53+
assert.ok(response.includes('HELLO=WORLD'));
54+
assert.ok(response.includes('FOO=BAR'));
5555
});

test/parallel/test-child-process-exec-env.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,5 +56,5 @@ process.on('exit', function() {
5656
console.log('response: ', response);
5757
assert.strictEqual(1, success_count);
5858
assert.strictEqual(0, error_count);
59-
assert.ok(response.indexOf('HELLO=WORLD') >= 0);
59+
assert.ok(response.includes('HELLO=WORLD'));
6060
});

test/parallel/test-child-process-spawnsync-input.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ function verifyBufOutput(ret) {
5252
assert.deepStrictEqual(ret.stderr, msgErrBuf);
5353
}
5454

55-
if (process.argv.indexOf('spawnchild') !== -1) {
55+
if (process.argv.includes('spawnchild')) {
5656
switch (process.argv[3]) {
5757
case '1':
5858
ret = spawnSync(process.execPath, args, { stdio: 'inherit' });

test/parallel/test-domain-throw-error-then-throw-from-uncaught-exception-handler.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const RAN_UNCAUGHT_EXCEPTION_HANDLER_EXIT_CODE = 42;
1717

1818
if (process.argv[2] === 'child') {
1919
process.on('uncaughtException', common.mustCall(function onUncaught() {
20-
if (process.execArgv.indexOf('--abort-on-uncaught-exception') !== -1) {
20+
if (process.execArgv.includes('--abort-on-uncaught-exception')) {
2121
// When passing --abort-on-uncaught-exception to the child process,
2222
// we want to make sure that this handler (the process' uncaughtException
2323
// event handler) wasn't called. Unfortunately we can't parse the child

test/parallel/test-domain-with-abort-on-uncaught-exception.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ if (process.argv[2] === 'child') {
4343
d.on('error', function(err) {
4444
// Swallowing the error on purpose if 'throwInDomainErrHandler' is not
4545
// set
46-
if (process.argv.indexOf('throwInDomainErrHandler') !== -1) {
46+
if (process.argv.includes('throwInDomainErrHandler')) {
4747
// If useTryCatch is set, wrap the throw in a try/catch block.
4848
// This is to make sure that a caught exception does not trigger
4949
// an abort.
50-
if (process.argv.indexOf('useTryCatch') !== -1) {
50+
if (process.argv.includes('useTryCatch')) {
5151
try {
5252
throw new Error(domainErrHandlerExMessage);
5353
} catch (e) {

test/parallel/test-error-reporting.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function errExec(script, callback) {
3636
assert.ok(stderr.split('\n').length > 2);
3737

3838
// Assert the script is mentioned in error output.
39-
assert.ok(stderr.indexOf(script) >= 0);
39+
assert.ok(stderr.includes(script));
4040

4141
// Proxy the args for more tests.
4242
callback(err, stdout, stderr);

test/parallel/test-fs-error-messages.js

+36-36
Original file line numberDiff line numberDiff line change
@@ -34,66 +34,66 @@ const existingDir2 = path.join(common.fixturesDir, 'keys');
3434

3535
fs.stat(fn, function(err) {
3636
assert.strictEqual(fn, err.path);
37-
assert.ok(0 <= err.message.indexOf(fn));
37+
assert.ok(err.message.includes(fn));
3838
});
3939

4040
fs.lstat(fn, function(err) {
41-
assert.ok(0 <= err.message.indexOf(fn));
41+
assert.ok(err.message.includes(fn));
4242
});
4343

4444
fs.readlink(fn, function(err) {
45-
assert.ok(0 <= err.message.indexOf(fn));
45+
assert.ok(err.message.includes(fn));
4646
});
4747

4848
fs.link(fn, 'foo', function(err) {
49-
assert.ok(0 <= err.message.indexOf(fn));
49+
assert.ok(err.message.includes(fn));
5050
});
5151

5252
fs.link(existingFile, existingFile2, function(err) {
53-
assert.ok(0 <= err.message.indexOf(existingFile));
54-
assert.ok(0 <= err.message.indexOf(existingFile2));
53+
assert.ok(err.message.includes(existingFile));
54+
assert.ok(err.message.includes(existingFile2));
5555
});
5656

5757
fs.symlink(existingFile, existingFile2, function(err) {
58-
assert.ok(0 <= err.message.indexOf(existingFile));
59-
assert.ok(0 <= err.message.indexOf(existingFile2));
58+
assert.ok(err.message.includes(existingFile));
59+
assert.ok(err.message.includes(existingFile2));
6060
});
6161

6262
fs.unlink(fn, function(err) {
63-
assert.ok(0 <= err.message.indexOf(fn));
63+
assert.ok(err.message.includes(fn));
6464
});
6565

6666
fs.rename(fn, 'foo', function(err) {
67-
assert.ok(0 <= err.message.indexOf(fn));
67+
assert.ok(err.message.includes(fn));
6868
});
6969

7070
fs.rename(existingDir, existingDir2, function(err) {
71-
assert.ok(0 <= err.message.indexOf(existingDir));
72-
assert.ok(0 <= err.message.indexOf(existingDir2));
71+
assert.ok(err.message.includes(existingDir));
72+
assert.ok(err.message.includes(existingDir2));
7373
});
7474

7575
fs.rmdir(fn, function(err) {
76-
assert.ok(0 <= err.message.indexOf(fn));
76+
assert.ok(err.message.includes(fn));
7777
});
7878

7979
fs.mkdir(existingFile, 0o666, function(err) {
80-
assert.ok(0 <= err.message.indexOf(existingFile));
80+
assert.ok(err.message.includes(existingFile));
8181
});
8282

8383
fs.rmdir(existingFile, function(err) {
84-
assert.ok(0 <= err.message.indexOf(existingFile));
84+
assert.ok(err.message.includes(existingFile));
8585
});
8686

8787
fs.chmod(fn, 0o666, function(err) {
88-
assert.ok(0 <= err.message.indexOf(fn));
88+
assert.ok(err.message.includes(fn));
8989
});
9090

9191
fs.open(fn, 'r', 0o666, function(err) {
92-
assert.ok(0 <= err.message.indexOf(fn));
92+
assert.ok(err.message.includes(fn));
9393
});
9494

9595
fs.readFile(fn, function(err) {
96-
assert.ok(0 <= err.message.indexOf(fn));
96+
assert.ok(err.message.includes(fn));
9797
});
9898

9999
// Sync
@@ -106,122 +106,122 @@ try {
106106
fs.statSync(fn);
107107
} catch (err) {
108108
errors.push('stat');
109-
assert.ok(0 <= err.message.indexOf(fn));
109+
assert.ok(err.message.includes(fn));
110110
}
111111

112112
try {
113113
++expected;
114114
fs.mkdirSync(existingFile, 0o666);
115115
} catch (err) {
116116
errors.push('mkdir');
117-
assert.ok(0 <= err.message.indexOf(existingFile));
117+
assert.ok(err.message.includes(existingFile));
118118
}
119119

120120
try {
121121
++expected;
122122
fs.chmodSync(fn, 0o666);
123123
} catch (err) {
124124
errors.push('chmod');
125-
assert.ok(0 <= err.message.indexOf(fn));
125+
assert.ok(err.message.includes(fn));
126126
}
127127

128128
try {
129129
++expected;
130130
fs.lstatSync(fn);
131131
} catch (err) {
132132
errors.push('lstat');
133-
assert.ok(0 <= err.message.indexOf(fn));
133+
assert.ok(err.message.includes(fn));
134134
}
135135

136136
try {
137137
++expected;
138138
fs.readlinkSync(fn);
139139
} catch (err) {
140140
errors.push('readlink');
141-
assert.ok(0 <= err.message.indexOf(fn));
141+
assert.ok(err.message.includes(fn));
142142
}
143143

144144
try {
145145
++expected;
146146
fs.linkSync(fn, 'foo');
147147
} catch (err) {
148148
errors.push('link');
149-
assert.ok(0 <= err.message.indexOf(fn));
149+
assert.ok(err.message.includes(fn));
150150
}
151151

152152
try {
153153
++expected;
154154
fs.linkSync(existingFile, existingFile2);
155155
} catch (err) {
156156
errors.push('link');
157-
assert.ok(0 <= err.message.indexOf(existingFile));
158-
assert.ok(0 <= err.message.indexOf(existingFile2));
157+
assert.ok(err.message.includes(existingFile));
158+
assert.ok(err.message.includes(existingFile2));
159159
}
160160

161161
try {
162162
++expected;
163163
fs.symlinkSync(existingFile, existingFile2);
164164
} catch (err) {
165165
errors.push('symlink');
166-
assert.ok(0 <= err.message.indexOf(existingFile));
167-
assert.ok(0 <= err.message.indexOf(existingFile2));
166+
assert.ok(err.message.includes(existingFile));
167+
assert.ok(err.message.includes(existingFile2));
168168
}
169169

170170
try {
171171
++expected;
172172
fs.unlinkSync(fn);
173173
} catch (err) {
174174
errors.push('unlink');
175-
assert.ok(0 <= err.message.indexOf(fn));
175+
assert.ok(err.message.includes(fn));
176176
}
177177

178178
try {
179179
++expected;
180180
fs.rmdirSync(fn);
181181
} catch (err) {
182182
errors.push('rmdir');
183-
assert.ok(0 <= err.message.indexOf(fn));
183+
assert.ok(err.message.includes(fn));
184184
}
185185

186186
try {
187187
++expected;
188188
fs.rmdirSync(existingFile);
189189
} catch (err) {
190190
errors.push('rmdir');
191-
assert.ok(0 <= err.message.indexOf(existingFile));
191+
assert.ok(err.message.includes(existingFile));
192192
}
193193

194194
try {
195195
++expected;
196196
fs.openSync(fn, 'r');
197197
} catch (err) {
198198
errors.push('opens');
199-
assert.ok(0 <= err.message.indexOf(fn));
199+
assert.ok(err.message.includes(fn));
200200
}
201201

202202
try {
203203
++expected;
204204
fs.renameSync(fn, 'foo');
205205
} catch (err) {
206206
errors.push('rename');
207-
assert.ok(0 <= err.message.indexOf(fn));
207+
assert.ok(err.message.includes(fn));
208208
}
209209

210210
try {
211211
++expected;
212212
fs.renameSync(existingDir, existingDir2);
213213
} catch (err) {
214214
errors.push('rename');
215-
assert.ok(0 <= err.message.indexOf(existingDir));
216-
assert.ok(0 <= err.message.indexOf(existingDir2));
215+
assert.ok(err.message.includes(existingDir));
216+
assert.ok(err.message.includes(existingDir2));
217217
}
218218

219219
try {
220220
++expected;
221221
fs.readdirSync(fn);
222222
} catch (err) {
223223
errors.push('readdir');
224-
assert.ok(0 <= err.message.indexOf(fn));
224+
assert.ok(err.message.includes(fn));
225225
}
226226

227227
process.on('exit', function() {

test/parallel/test-http-client-parse-error.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ net.createServer(function(c) {
4747
path: '/'
4848
}).on('error', function(e) {
4949
console.log('got error from client');
50-
assert.ok(e.message.indexOf('Parse Error') >= 0);
50+
assert.ok(e.message.includes('Parse Error'));
5151
assert.strictEqual(e.code, 'HPE_INVALID_CONSTANT');
5252
parseErrors++;
5353
}).end();

test/parallel/test-http-extra-response.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const server = net.createServer(function(socket) {
4949
socket.on('data', function(chunk) {
5050
postBody += chunk;
5151

52-
if (postBody.indexOf('\r\n') > -1) {
52+
if (postBody.includes('\r\n')) {
5353
socket.write(fullResponse);
5454
// omg, I wrote the response twice, what a terrible HTTP server I am.
5555
socket.end(fullResponse);

test/parallel/test-http-get-pipeline-problem.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ function checkFiles() {
9494

9595
for (let i = 0; i < total; i++) {
9696
const fn = i + '.jpg';
97-
assert.ok(files.indexOf(fn) >= 0, "couldn't find '" + fn + "'");
97+
assert.ok(files.includes(fn), "couldn't find '" + fn + "'");
9898
const stat = fs.statSync(common.tmpDir + '/' + fn);
9999
assert.strictEqual(image.length, stat.size,
100100
"size doesn't match on '" + fn +

test/parallel/test-https-strict.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,11 @@ function makeReq(path, port, error, host, ca) {
130130
options.agent = agent0;
131131
} else {
132132
if (!Array.isArray(ca)) ca = [ca];
133-
if (-1 !== ca.indexOf(ca1) && -1 !== ca.indexOf(ca2)) {
133+
if (ca.includes(ca1) && ca.includes(ca2)) {
134134
options.agent = agent3;
135-
} else if (-1 !== ca.indexOf(ca1)) {
135+
} else if (ca.includes(ca1)) {
136136
options.agent = agent1;
137-
} else if (-1 !== ca.indexOf(ca2)) {
137+
} else if (ca.includes(ca2)) {
138138
options.agent = agent2;
139139
} else {
140140
options.agent = agent0;

test/parallel/test-intl.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ if (enablei18n === undefined) {
3434
// Else, returns false
3535
function haveLocale(loc) {
3636
const locs = process.config.variables.icu_locales.split(',');
37-
return locs.indexOf(loc) !== -1;
37+
return locs.includes(loc);
3838
}
3939

4040
// Always run these. They should always pass, even if the locale

0 commit comments

Comments
 (0)