Skip to content

Commit f4287f1

Browse files
committed
chore: move from tap to Node.js test runner
This eliminates a (bogus) security warning about a tap dependency.
1 parent f10ad1a commit f4287f1

11 files changed

+275
-4325
lines changed

package-lock.json

+146-4,185
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"type": "module",
66
"scripts": {
77
"start": "node server.js | bunyan -o short",
8-
"test": "STATUS=0; tap --allow-incomplete-coverage test/**/*.test.js || STATUS=$?; standard || STATUS=$?; exit $STATUS",
8+
"test": "STATUS=0; node --test test/**/*.test.js || STATUS=$?; standard || STATUS=$?; exit $STATUS",
99
"test:watch": "nodemon -q -x 'npm test'"
1010
},
1111
"engines": {
@@ -33,7 +33,6 @@
3333
"nock": "^14.0.1",
3434
"nodemon": "^3.1.9",
3535
"standard": "^17.1.2",
36-
"supertest": "^7.0.0",
37-
"tap": "^21.1.0"
36+
"supertest": "^7.0.0"
3837
}
3938
}

test/_fixtures/pull-request-commits-page-2.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -724,7 +724,7 @@
724724
"email": "[email protected]",
725725
"date": "2016-11-22T05:35:47Z"
726726
},
727-
"message": "test: refactor test-zlib.js\n\n* minor layout changes for clarity\n* assert.equal() and assert.ok() swapped out for assert.strictEqual()\n* var -> const for modules included via require()\n\nPR-URL: https://github.com/nodejs/node/pull/9544\nReviewed-By: Evan Lucas <[email protected]>\nReviewed-By: Colin Ihrig <[email protected]>\nReviewed-By: Luigi Pinca <[email protected]>\nReviewed-By: Michael Dawson <[email protected]>",
727+
"message": "test: refactor test-zlib.js\n\n* minor layout changes for clarity\n* assert.assert.strictEqual() and assert.ok() swapped out for assert.strictEqual()\n* var -> const for modules included via require()\n\nPR-URL: https://github.com/nodejs/node/pull/9544\nReviewed-By: Evan Lucas <[email protected]>\nReviewed-By: Colin Ihrig <[email protected]>\nReviewed-By: Luigi Pinca <[email protected]>\nReviewed-By: Michael Dawson <[email protected]>",
728728
"tree": {
729729
"sha": "0dd000fbdb213e92156ac58a0cbcad75065d487f",
730730
"url": "https://api.github.com/repos/nodejs/node/git/trees/0dd000fbdb213e92156ac58a0cbcad75065d487f"
@@ -735,7 +735,7 @@
735735
"verified": true,
736736
"reason": "valid",
737737
"signature": "-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1\n\niQIcBAABAgAGBQJYM9kzAAoJENi59a6uhOTP80MQAKnZ3mUZanN36TSLpFGsO9Q6\np0CswA1QxKDKtUt5dOKJRpzsnzXW3muAdaMYegMfruPwRR3CHFj3krEPgnkFj879\nGroNxYMSkYLnkTU9aNP9OKv0KFJPjg3gAJokt7bUfQPdxGu2wwFq++uDELU+jpyM\nuAEiZhlgn8vSyDpnLdavyEyZpnn1v666tY/amCVkvFs0vf2bXwCG/qyixYOr40P4\nW4HPbR9cEPttwhbB11+EA6HxpSNoLgZi0+OidwMLF7xbhsKBglhvTrfqI5UoRTFS\nI9sIKZC4dd9UASRSZ57SxDfG5XjYtoL7mYBLZSBaq1bScbEAUWjaAB6I1ibPDMcI\nDX+oZgT5zDkt7M9zwH/NIhDlBLFaOolTZp4HssCNvk+kHFM5Ns38wTS5PMMkrQeg\nE+uC95QFbvpm+QOFFpxUUo0FbUkqMC1Jy9X1JQFxPTZ/lek1Ooqo6C7AymjuAok9\nybxalYSJf/Rm/dTVi2/5gr36IAeMpYhdP9Ow9Y0gX8t026C94mQaLF7zLEk/8rvg\nSh1R5uGF52bkJyJz4nmZBe5qrxsSR3BYLKyx95pfHMhtF14qtvlnBAolXy/K1n+e\nvqPFkTkWl7zlJoBGRqD18AALnJko3dtRx/Fz40al39aDcgUbklayRmUM68/zJblD\nYRKLl0AcBntRdJnWeJyo\n=8VEe\n-----END PGP SIGNATURE-----",
738-
"payload": "tree 0dd000fbdb213e92156ac58a0cbcad75065d487f\nparent 163397a206aecce0b18b304f73456a569bb06733\nauthor Rich Trott <[email protected]> 1478805980 -0800\ncommitter Anna Henningsen <[email protected]> 1479792947 +0100\n\ntest: refactor test-zlib.js\n\n* minor layout changes for clarity\n* assert.equal() and assert.ok() swapped out for assert.strictEqual()\n* var -> const for modules included via require()\n\nPR-URL: https://github.com/nodejs/node/pull/9544\nReviewed-By: Evan Lucas <[email protected]>\nReviewed-By: Colin Ihrig <[email protected]>\nReviewed-By: Luigi Pinca <[email protected]>\nReviewed-By: Michael Dawson <[email protected]>\n"
738+
"payload": "tree 0dd000fbdb213e92156ac58a0cbcad75065d487f\nparent 163397a206aecce0b18b304f73456a569bb06733\nauthor Rich Trott <[email protected]> 1478805980 -0800\ncommitter Anna Henningsen <[email protected]> 1479792947 +0100\n\ntest: refactor test-zlib.js\n\n* minor layout changes for clarity\n* assert.assert.strictEqual() and assert.ok() swapped out for assert.strictEqual()\n* var -> const for modules included via require()\n\nPR-URL: https://github.com/nodejs/node/pull/9544\nReviewed-By: Evan Lucas <[email protected]>\nReviewed-By: Colin Ihrig <[email protected]>\nReviewed-By: Luigi Pinca <[email protected]>\nReviewed-By: Michael Dawson <[email protected]>\n"
739739
}
740740
},
741741
"url": "https://api.github.com/repos/nodejs/node/commits/f3db5e4720903f4dd719e7e087881ee2a9018e53",

test/_fixtures/pull-request-commits-page-3.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1732,7 +1732,7 @@
17321732
"email": "[email protected]",
17331733
"date": "2016-11-22T05:38:03Z"
17341734
},
1735-
"message": "test: refactor test-async-wrap-*\n\n* `assert.equal()` -> `assert.strictEqual()`\n* add duration to `setTimeout()`\n\nPR-URL: https://github.com/nodejs/node/pull/9663\nReviewed-By: Ben Noordhuis <[email protected]>\nReviewed-By: Colin Ihrig <[email protected]>\nReviewed-By: Santiago Gimeno <[email protected]>\nReviewed-By: James M Snell <[email protected]>\nReviewed-By: Luigi Pinca <[email protected]>\nReviewed-By: Prince John Wesley <[email protected]>",
1735+
"message": "test: refactor test-async-wrap-*\n\n* `assert.assert.strictEqual()` -> `assert.strictEqual()`\n* add duration to `setTimeout()`\n\nPR-URL: https://github.com/nodejs/node/pull/9663\nReviewed-By: Ben Noordhuis <[email protected]>\nReviewed-By: Colin Ihrig <[email protected]>\nReviewed-By: Santiago Gimeno <[email protected]>\nReviewed-By: James M Snell <[email protected]>\nReviewed-By: Luigi Pinca <[email protected]>\nReviewed-By: Prince John Wesley <[email protected]>",
17361736
"tree": {
17371737
"sha": "eade51729912df77f23d0293e8a513bb25271e09",
17381738
"url": "https://api.github.com/repos/nodejs/node/git/trees/eade51729912df77f23d0293e8a513bb25271e09"
@@ -1743,7 +1743,7 @@
17431743
"verified": true,
17441744
"reason": "valid",
17451745
"signature": "-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1\n\niQIcBAABAgAGBQJYM9m7AAoJENi59a6uhOTP7E4P/2hEMXacFoXDIseiAqmI1wS+\nEB3HxqJys+MU6StpcKmfGnIvUoJj4NzJMKJ/ykO3lU1g+KPssgAV7jV1Vpf2lQre\noE8+GFsDE/aWxdU+IVX/ou+tWiOZBUouKPoZ79qnSs8Sp0DQoqAvb1AQrq9nXkj9\nBwALO8FlENjAgVlZwDdNPG+hTXQlU1moIfdm7/gIG/UrMtDgRaFj70WiHh0oUHL5\nj7xYzqPbDuIVLROHTPWz9NVyJd/E1NNIs8jPebwRLcbcdCW7CuiI+zhIeOD1d1or\nHQKq4bV2sDnCileEL/HB0bf/PGXaHfZiw33/wT2mGYOgbwelnrdRVtqGvqm6J7gd\nOzr1BOWhJhQtoo6yZaUjCKSwLXrBUgKZMP11vIbi5ld3zEsp2bBnsPsHc4dlx1+v\n0M/qHGAPpHWPd1yeEIyTjcx240ehG/jP8BNEyixKmIm4P9oOYFOnkE3SWKV03qIS\ncUUcTcpH8dhx4TCiZefkadIPWPBWxIBJMWRa3pYcUGiufNdfyo247hfzBYl17lrh\nOCw/oPxOz46EntX9QGADJCxSfTFu9UQtihVEbaAVRpGQmKGUp2PsGDXfF61HWogz\nWp5dfM6mjLVAtob/E4O4eYx0CYnDETPbLcN5NvHtcGk85uRbQig4BWkrHARdOJlt\nLMI143+B17FqSTp6hsUE\n=PNsu\n-----END PGP SIGNATURE-----",
1746-
"payload": "tree eade51729912df77f23d0293e8a513bb25271e09\nparent c4f33b48f7db46aa60bcf4c120e01280b59dc17b\nauthor Rich Trott <[email protected]> 1479407157 -0800\ncommitter Anna Henningsen <[email protected]> 1479793083 +0100\n\ntest: refactor test-async-wrap-*\n\n* `assert.equal()` -> `assert.strictEqual()`\n* add duration to `setTimeout()`\n\nPR-URL: https://github.com/nodejs/node/pull/9663\nReviewed-By: Ben Noordhuis <[email protected]>\nReviewed-By: Colin Ihrig <[email protected]>\nReviewed-By: Santiago Gimeno <[email protected]>\nReviewed-By: James M Snell <[email protected]>\nReviewed-By: Luigi Pinca <[email protected]>\nReviewed-By: Prince John Wesley <[email protected]>\n"
1746+
"payload": "tree eade51729912df77f23d0293e8a513bb25271e09\nparent c4f33b48f7db46aa60bcf4c120e01280b59dc17b\nauthor Rich Trott <[email protected]> 1479407157 -0800\ncommitter Anna Henningsen <[email protected]> 1479793083 +0100\n\ntest: refactor test-async-wrap-*\n\n* `assert.assert.strictEqual()` -> `assert.strictEqual()`\n* add duration to `setTimeout()`\n\nPR-URL: https://github.com/nodejs/node/pull/9663\nReviewed-By: Ben Noordhuis <[email protected]>\nReviewed-By: Colin Ihrig <[email protected]>\nReviewed-By: Santiago Gimeno <[email protected]>\nReviewed-By: James M Snell <[email protected]>\nReviewed-By: Luigi Pinca <[email protected]>\nReviewed-By: Prince John Wesley <[email protected]>\n"
17471747
}
17481748
},
17491749
"url": "https://api.github.com/repos/nodejs/node/commits/a220170861d62d7a488330896695ed7b4464a59e",
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import tap from 'tap'
1+
import test from 'node:test'
22
import fetchMock from 'fetch-mock'
33
import supertest from 'supertest'
44

@@ -10,20 +10,20 @@ import eventRelay from '../../scripts/event-relay.js'
1010

1111
eventRelay(app, events)
1212

13-
tap.test('Sends POST requests to https://api.github.com/repos/nodejs/<repo>/dispatches', (t) => {
13+
test('Sends POST requests to https://api.github.com/repos/nodejs/<repo>/dispatches', (t) => {
1414
const jenkinsPayload = readFixture('success-payload.json')
1515

1616
fetchMock.mockGlobal()
1717
fetchMock.route('https://api.github.com/repos/nodejs/node/dispatches', 204)
1818

19-
t.plan(2)
19+
t.plan(2, { wait: 2000 })
2020

2121
supertest(app)
2222
.post('/node/jenkins/start')
2323
.send(jenkinsPayload)
2424
.expect(200)
2525
.end((err, res) => {
26-
t.equal(err, null)
27-
t.equal(fetchMock.callHistory.called(), true)
26+
t.assert.strictEqual(err, null)
27+
t.assert.strictEqual(fetchMock.callHistory.called(), true)
2828
})
2929
})

test/integration/ping.test.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
import http from 'node:http'
22

3-
import tap from 'tap'
3+
import test from 'node:test'
44

55
import { app, events } from '../../app.js'
66

77
import ping from '../../scripts/ping.js'
88

99
ping(app, events)
1010

11-
tap.test('GET /ping responds with status 200 / "pong"', (t) => {
11+
test('GET /ping responds with status 200 / "pong"', (t) => {
1212
const server = app.listen()
1313
const port = server.address().port
1414
const url = `http://localhost:${port}/ping`
1515

16-
t.plan(2)
17-
t.teardown(() => server.close())
16+
t.plan(2, { wait: 2000 })
17+
t.after(() => server.close())
1818

1919
http.get(url, (res) => {
20-
t.equal(res.statusCode, 200)
20+
t.assert.strictEqual(res.statusCode, 200)
2121

2222
let data = ''
2323
res.on('data', (chunk) => {
2424
data += chunk
2525
})
2626
res.on('end', () => {
27-
t.equal(data, 'pong')
27+
t.assert.strictEqual(data, 'pong')
2828
})
2929
}).on('error', (e) => {
3030
t.fail(e)

test/integration/push-jenkins-update.test.js

+41-41
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import tap from 'tap'
1+
import test from 'node:test'
22
import fetchMock from 'fetch-mock'
33
import supertest from 'supertest'
44

@@ -13,70 +13,70 @@ fetchMock.mockGlobal()
1313

1414
jenkinsStatus(app, events)
1515

16-
tap.test('Sends POST requests to https://api.github.com/repos/nodejs/node/statuses/<SHA>', (t) => {
16+
test('Sends POST requests to https://api.github.com/repos/nodejs/node/statuses/<SHA>', (t) => {
1717
const jenkinsPayload = readFixture('success-payload.json')
1818

1919
const listCommitsUrl = setupListCommitsMock('node')
2020

2121
const url = 'https://api.github.com/repos/nodejs/node/statuses/8a5fec2a6bade91e544a30314d7cf21f8a200de1'
2222
fetchMock.route({ url, method: 'POST' }, 201)
2323

24-
t.plan(3)
24+
t.plan(3, { wait: 2000 })
2525

2626
supertest(app)
2727
.post('/node/jenkins/start')
2828
.send(jenkinsPayload)
2929
.expect(200)
3030
.end((err, res) => {
31-
t.equal(err, null)
32-
t.equal(fetchMock.callHistory.called(url), true)
33-
t.equal(fetchMock.callHistory.called(listCommitsUrl), true)
31+
t.assert.strictEqual(err, null)
32+
t.assert.strictEqual(fetchMock.callHistory.called(url), true)
33+
t.assert.strictEqual(fetchMock.callHistory.called(listCommitsUrl), true)
3434
})
3535
})
3636

37-
tap.test('Allows repository name to be provided with URL parameter when pushing job started', (t) => {
37+
test('Allows repository name to be provided with URL parameter when pushing job started', (t) => {
3838
const jenkinsPayload = readFixture('pending-payload.json')
3939

4040
const listCommitsUrl = setupListCommitsMock('citgm')
4141

4242
const url = 'https://api.github.com/repos/nodejs/citgm/statuses/8a5fec2a6bade91e544a30314d7cf21f8a200de1'
4343
fetchMock.route({ url, method: 'POST' }, 201)
4444

45-
t.plan(3)
45+
t.plan(3, { wait: 2000 })
4646

4747
supertest(app)
4848
.post('/citgm/jenkins/start')
4949
.send(jenkinsPayload)
5050
.expect(200)
5151
.end((err, res) => {
52-
t.equal(err, null)
53-
t.equal(fetchMock.callHistory.called(url), true)
54-
t.equal(fetchMock.callHistory.called(listCommitsUrl), true)
52+
t.assert.strictEqual(err, null)
53+
t.assert.strictEqual(fetchMock.callHistory.called(url), true)
54+
t.assert.strictEqual(fetchMock.callHistory.called(listCommitsUrl), true)
5555
})
5656
})
5757

58-
tap.test('Allows repository name to be provided with URL parameter when pushing job ended', (t) => {
58+
test('Allows repository name to be provided with URL parameter when pushing job ended', (t) => {
5959
const jenkinsPayload = readFixture('success-payload.json')
6060

6161
const listCommitsUrl = setupListCommitsMock('citgm')
6262

6363
const url = 'https://api.github.com/repos/nodejs/citgm/statuses/8a5fec2a6bade91e544a30314d7cf21f8a200de1'
6464
fetchMock.route({ url, method: 'POST' }, 201)
6565

66-
t.plan(3)
66+
t.plan(3, { wait: 2000 })
6767

6868
supertest(app)
6969
.post('/citgm/jenkins/end')
7070
.send(jenkinsPayload)
7171
.expect(200)
7272
.end((err, res) => {
73-
t.equal(err, null)
74-
t.equal(fetchMock.callHistory.called(url), true)
75-
t.equal(fetchMock.callHistory.called(listCommitsUrl), true)
73+
t.assert.strictEqual(err, null)
74+
t.assert.strictEqual(fetchMock.callHistory.called(url), true)
75+
t.assert.strictEqual(fetchMock.callHistory.called(listCommitsUrl), true)
7676
})
7777
})
7878

79-
tap.test('Forwards payload provided in incoming POST to GitHub status API', (t) => {
79+
test('Forwards payload provided in incoming POST to GitHub status API', (t) => {
8080
const fixture = readFixture('success-payload.json')
8181

8282
const listCommitsUrl = setupListCommitsMock('node')
@@ -90,20 +90,20 @@ tap.test('Forwards payload provided in incoming POST to GitHub status API', (t)
9090
}
9191
fetchMock.route({ url, method: 'POST', body }, 201)
9292

93-
t.plan(3)
93+
t.plan(3, { wait: 2000 })
9494

9595
supertest(app)
9696
.post('/node/jenkins/start')
9797
.send(fixture)
9898
.expect(200)
9999
.end((err, res) => {
100-
t.equal(err, null)
101-
t.equal(fetchMock.callHistory.called(url), true)
102-
t.equal(fetchMock.callHistory.called(listCommitsUrl), true)
100+
t.assert.strictEqual(err, null)
101+
t.assert.strictEqual(fetchMock.callHistory.called(url), true)
102+
t.assert.strictEqual(fetchMock.callHistory.called(listCommitsUrl), true)
103103
})
104104
})
105105

106-
tap.test('Posts a CI comment in the related PR when Jenkins build is named node-test-pull-request', (t) => {
106+
test('Posts a CI comment in the related PR when Jenkins build is named node-test-pull-request', (t) => {
107107
const fixture = readFixture('jenkins-test-pull-request-success-payload.json')
108108

109109
const url = 'https://api.github.com/repos/nodejs/node/issues/12345/comments'
@@ -118,19 +118,19 @@ tap.test('Posts a CI comment in the related PR when Jenkins build is named node-
118118
method: 'POST'
119119
}, 201)
120120

121-
t.plan(2)
121+
t.plan(2, { wait: 2000 })
122122

123123
supertest(app)
124124
.post('/node/jenkins/start')
125125
.send(fixture)
126126
.expect(200)
127127
.end((err, res) => {
128-
t.equal(fetchMock.callHistory.called(url), true)
129-
t.equal(err, null)
128+
t.assert.strictEqual(fetchMock.callHistory.called(url), true)
129+
t.assert.strictEqual(err, null)
130130
})
131131
})
132132

133-
tap.test('Posts a CI comment in the related PR when Jenkins build is named node-test-pull-request-lite-pipeline', (t) => {
133+
test('Posts a CI comment in the related PR when Jenkins build is named node-test-pull-request-lite-pipeline', (t) => {
134134
const fixture = readFixture('jenkins-test-pull-request-success-payload.json')
135135
fixture.identifier = 'node-test-pull-request-lite-pipeline'
136136

@@ -146,83 +146,83 @@ tap.test('Posts a CI comment in the related PR when Jenkins build is named node-
146146
method: 'POST'
147147
}, 201)
148148

149-
t.plan(2)
149+
t.plan(2, { wait: 2000 })
150150

151151
supertest(app)
152152
.post('/node/jenkins/start')
153153
.send(fixture)
154154
.expect(200)
155155
.end((err, res) => {
156-
t.equal(fetchMock.callHistory.called(url), true)
157-
t.equal(err, null)
156+
t.assert.strictEqual(fetchMock.callHistory.called(url), true)
157+
t.assert.strictEqual(err, null)
158158
})
159159
})
160160

161-
tap.test('Responds with 400 / "Bad request" when incoming request has invalid payload', (t) => {
161+
test('Responds with 400 / "Bad request" when incoming request has invalid payload', (t) => {
162162
const fixture = readFixture('invalid-payload.json')
163163

164164
// don't care about the results, just want to prevent any HTTP request ever being made
165165
fetchMock.route('https://api.github.com', 200)
166166

167-
t.plan(1)
167+
t.plan(1, { wait: 2000 })
168168

169169
supertest(app)
170170
.post('/node/jenkins/start')
171171
.send(fixture)
172172
.expect(400, 'Invalid payload')
173173
.end((err, res) => {
174-
t.equal(err, null)
174+
t.assert.strictEqual(err, null)
175175
})
176176
})
177177

178-
tap.test('Responds with 400 / "Bad request" when build started status update is not related to a pull request', (t) => {
178+
test('Responds with 400 / "Bad request" when build started status update is not related to a pull request', (t) => {
179179
const fixture = readFixture('jenkins-staging-failure-payload.json')
180180

181181
// don't care about the results, just want to prevent any HTTP request ever being made
182182
fetchMock.route('https://api.github.com', 200)
183183

184-
t.plan(1)
184+
t.plan(1, { wait: 2000 })
185185

186186
supertest(app)
187187
.post('/node/jenkins/start')
188188
.send(fixture)
189189
.expect(400, 'Will only push builds related to pull requests')
190190
.end((err, res) => {
191-
t.equal(err, null)
191+
t.assert.strictEqual(err, null)
192192
})
193193
})
194194

195-
tap.test('Responds with 400 / "Bad request" when build ended status update is not related to a pull request', (t) => {
195+
test('Responds with 400 / "Bad request" when build ended status update is not related to a pull request', (t) => {
196196
const fixture = readFixture('jenkins-staging-failure-payload.json')
197197

198198
// don't care about the results, just want to prevent any HTTP request ever being made
199199
fetchMock.route('https://api.github.com/', 200)
200200

201-
t.plan(1)
201+
t.plan(1, { wait: 2000 })
202202

203203
supertest(app)
204204
.post('/node/jenkins/end')
205205
.send(fixture)
206206
.expect(400, 'Will only push builds related to pull requests')
207207
.end((err, res) => {
208-
t.equal(err, null)
208+
t.assert.strictEqual(err, null)
209209
})
210210
})
211211

212-
tap.test('Responds with 400 / "Bad request" when incoming providing invalid repository name', (t) => {
212+
test('Responds with 400 / "Bad request" when incoming providing invalid repository name', (t) => {
213213
const fixture = readFixture('pending-payload.json')
214214

215215
// don't care about the results, just want to prevent any HTTP request ever being made
216216
fetchMock.route('https://api.github.com/', 200)
217217

218-
t.plan(1)
218+
t.plan(1, { wait: 2000 })
219219

220220
supertest(app)
221221
.post('/not-valid-repo-name/jenkins/start')
222222
.send(fixture)
223223
.expect(400, 'Invalid repository')
224224
.end((err, res) => {
225-
t.equal(err, null)
225+
t.assert.strictEqual(err, null)
226226
})
227227
})
228228

0 commit comments

Comments
 (0)