Skip to content

Commit e5e0548

Browse files
Uzlopakcrysmags
authored andcommitted
chore: transform tests from tap to native test runner (nodejs#2719)
1 parent 7e0d18c commit e5e0548

File tree

9 files changed

+194
-157
lines changed

9 files changed

+194
-157
lines changed

test/client-head-reset-override.js

Lines changed: 49 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,68 @@
11
'use strict'
22

3+
const { tspl } = require('@matteo.collina/tspl')
4+
const { once } = require('node:events')
35
const { createServer } = require('node:http')
4-
const { test } = require('tap')
6+
const { test, after } = require('node:test')
57
const { Client } = require('..')
68

7-
test('override HEAD reset', (t) => {
9+
test('override HEAD reset', async (t) => {
10+
t = tspl(t, { plan: 4 })
11+
812
const expected = 'testing123'
913
const server = createServer((req, res) => {
1014
if (req.method === 'GET') {
1115
res.write(expected)
1216
}
1317
res.end()
14-
})
15-
t.teardown(server.close.bind(server))
18+
}).listen(0)
1619

17-
server.listen(0, () => {
18-
const client = new Client(`http://localhost:${server.address().port}`)
19-
t.teardown(client.close.bind(client))
20+
after(() => server.close())
2021

21-
let done
22-
client.on('disconnect', () => {
23-
if (!done) {
24-
t.fail()
25-
}
26-
})
22+
await once(server, 'listening')
23+
const client = new Client(`http://localhost:${server.address().port}`)
24+
after(() => client.close())
2725

28-
client.request({
29-
path: '/',
30-
method: 'HEAD',
31-
reset: false
32-
}, (err, res) => {
33-
t.error(err)
34-
res.body.resume()
35-
})
26+
let done
27+
client.on('disconnect', () => {
28+
if (!done) {
29+
t.fail()
30+
}
31+
})
3632

37-
client.request({
38-
path: '/',
39-
method: 'HEAD',
40-
reset: false
41-
}, (err, res) => {
42-
t.error(err)
43-
res.body.resume()
44-
})
33+
client.request({
34+
path: '/',
35+
method: 'HEAD',
36+
reset: false
37+
}, (err, res) => {
38+
t.ifError(err)
39+
res.body.resume()
40+
})
4541

46-
client.request({
47-
path: '/',
48-
method: 'GET',
49-
reset: false
50-
}, (err, res) => {
51-
t.error(err)
52-
let str = ''
53-
res.body.on('data', (data) => {
54-
str += data
55-
}).on('end', () => {
56-
t.same(str, expected)
57-
done = true
58-
t.end()
59-
})
42+
client.request({
43+
path: '/',
44+
method: 'HEAD',
45+
reset: false
46+
}, (err, res) => {
47+
t.ifError(err)
48+
res.body.resume()
49+
})
50+
51+
client.request({
52+
path: '/',
53+
method: 'GET',
54+
reset: false
55+
}, (err, res) => {
56+
t.ifError(err)
57+
let str = ''
58+
res.body.on('data', (data) => {
59+
str += data
60+
}).on('end', () => {
61+
t.strictEqual(str, expected)
62+
done = true
63+
t.end()
6064
})
6165
})
66+
67+
await t.completed
6268
})

test/client-post.js

Lines changed: 54 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,83 @@
11
'use strict'
22

3-
const { test } = require('tap')
3+
const { tspl } = require('@matteo.collina/tspl')
4+
const { test, after } = require('node:test')
5+
const { once } = require('node:events')
46
const { Client } = require('..')
57
const { createServer } = require('node:http')
68
const { Blob } = require('node:buffer')
79

8-
test('request post blob', { skip: !Blob }, (t) => {
9-
t.plan(4)
10+
test('request post blob', { skip: !Blob }, async (t) => {
11+
t = tspl(t, { plan: 3 })
1012

1113
const server = createServer(async (req, res) => {
12-
t.equal(req.headers['content-type'], 'application/json')
14+
t.strictEqual(req.headers['content-type'], 'application/json')
1315
let str = ''
1416
for await (const chunk of req) {
1517
str += chunk
1618
}
17-
t.equal(str, 'asd')
19+
t.strictEqual(str, 'asd')
1820
res.end()
1921
})
20-
t.teardown(server.close.bind(server))
21-
22-
server.listen(0, () => {
23-
const client = new Client(`http://localhost:${server.address().port}`)
24-
t.teardown(client.destroy.bind(client))
25-
26-
client.request({
27-
path: '/',
28-
method: 'GET',
29-
body: new Blob(['asd'], {
30-
type: 'application/json'
31-
})
32-
}, (err, data) => {
33-
t.error(err)
34-
data.body.resume().on('end', () => {
35-
t.ok(true, 'pass')
36-
})
22+
after(server.close.bind(server))
23+
24+
server.listen(0)
25+
26+
await once(server, 'listening')
27+
28+
const client = new Client(`http://localhost:${server.address().port}`)
29+
after(client.destroy.bind(client))
30+
31+
client.request({
32+
path: '/',
33+
method: 'GET',
34+
body: new Blob(['asd'], {
35+
type: 'application/json'
36+
})
37+
}, (err, data) => {
38+
t.ifError(err)
39+
data.body.resume().on('end', () => {
40+
t.end()
3741
})
3842
})
43+
await t.completed
3944
})
4045

41-
test('request post arrayBuffer', { skip: !Blob }, (t) => {
42-
t.plan(3)
46+
test('request post arrayBuffer', { skip: !Blob }, async (t) => {
47+
t = tspl(t, { plan: 3 })
4348

4449
const server = createServer(async (req, res) => {
4550
let str = ''
4651
for await (const chunk of req) {
4752
str += chunk
4853
}
49-
t.equal(str, 'asd')
54+
t.strictEqual(str, 'asd')
5055
res.end()
5156
})
52-
t.teardown(server.close.bind(server))
53-
54-
server.listen(0, () => {
55-
const client = new Client(`http://localhost:${server.address().port}`)
56-
t.teardown(client.destroy.bind(client))
57-
58-
const buf = Buffer.from('asd')
59-
const dst = new ArrayBuffer(buf.byteLength)
60-
buf.copy(new Uint8Array(dst))
61-
62-
client.request({
63-
path: '/',
64-
method: 'GET',
65-
body: dst
66-
}, (err, data) => {
67-
t.error(err)
68-
data.body.resume().on('end', () => {
69-
t.ok(true, 'pass')
70-
})
57+
58+
after(() => server.close())
59+
60+
server.listen(0)
61+
62+
await once(server, 'listening')
63+
64+
const client = new Client(`http://localhost:${server.address().port}`)
65+
after(() => client.destroy())
66+
67+
const buf = Buffer.from('asd')
68+
const dst = new ArrayBuffer(buf.byteLength)
69+
buf.copy(new Uint8Array(dst))
70+
71+
client.request({
72+
path: '/',
73+
method: 'GET',
74+
body: dst
75+
}, (err, data) => {
76+
t.ifError(err)
77+
data.body.resume().on('end', () => {
78+
t.ok(true, 'pass')
7179
})
7280
})
81+
82+
await t.completed
7383
})

test/client-reconnect.js

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,57 @@
11
'use strict'
22

3-
const { test } = require('tap')
3+
const { tspl } = require('@matteo.collina/tspl')
4+
const { test, after } = require('node:test')
5+
const { once } = require('node:events')
46
const { Client } = require('..')
57
const { createServer } = require('node:http')
68
const FakeTimers = require('@sinonjs/fake-timers')
79
const timers = require('../lib/timers')
810

9-
test('multiple reconnect', (t) => {
10-
t.plan(5)
11+
test('multiple reconnect', async (t) => {
12+
t = tspl(t, { plan: 5 })
1113

1214
let n = 0
1315
const clock = FakeTimers.install()
14-
t.teardown(clock.uninstall.bind(clock))
16+
after(() => clock.uninstall())
1517

1618
const orgTimers = { ...timers }
1719
Object.assign(timers, { setTimeout, clearTimeout })
18-
t.teardown(() => {
20+
after(() => {
1921
Object.assign(timers, orgTimers)
2022
})
2123

2224
const server = createServer((req, res) => {
2325
n === 0 ? res.destroy() : res.end('ok')
2426
})
25-
t.teardown(server.close.bind(server))
27+
after(() => server.close())
2628

27-
server.listen(0, () => {
28-
const client = new Client(`http://localhost:${server.address().port}`)
29-
t.teardown(client.destroy.bind(client))
29+
server.listen(0)
30+
await once(server, 'listening')
31+
const client = new Client(`http://localhost:${server.address().port}`)
32+
after(client.destroy.bind(client))
3033

31-
client.request({ path: '/', method: 'GET' }, (err, data) => {
32-
t.ok(err)
33-
t.equal(err.code, 'UND_ERR_SOCKET')
34-
})
35-
36-
client.request({ path: '/', method: 'GET' }, (err, data) => {
37-
t.error(err)
38-
data.body
39-
.resume()
40-
.on('end', () => {
41-
t.ok(true, 'pass')
42-
})
43-
})
34+
client.request({ path: '/', method: 'GET' }, (err, data) => {
35+
t.ok(err)
36+
t.strictEqual(err.code, 'UND_ERR_SOCKET')
37+
})
4438

45-
client.on('disconnect', () => {
46-
if (++n === 1) {
39+
client.request({ path: '/', method: 'GET' }, (err, data) => {
40+
t.ifError(err)
41+
data.body
42+
.resume()
43+
.on('end', () => {
4744
t.ok(true, 'pass')
48-
}
49-
process.nextTick(() => {
50-
clock.tick(1000)
5145
})
46+
})
47+
48+
client.on('disconnect', () => {
49+
if (++n === 1) {
50+
t.ok(true, 'pass')
51+
}
52+
process.nextTick(() => {
53+
clock.tick(1000)
5254
})
5355
})
56+
await t.completed
5457
})

test/client-unref.js

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,41 @@
33
const { Worker, isMainThread, workerData } = require('node:worker_threads')
44

55
if (isMainThread) {
6-
const tap = require('tap')
6+
const { tspl } = require('@matteo.collina/tspl')
7+
const { test, after } = require('node:test')
8+
const { once } = require('node:events')
79
const { createServer } = require('node:http')
810

9-
tap.test('client automatically closes itself when idle', t => {
10-
t.plan(1)
11+
test('client automatically closes itself when idle', async t => {
12+
t = tspl(t, { plan: 1 })
1113

1214
const server = createServer((req, res) => {
1315
res.end()
1416
})
15-
t.teardown(server.close.bind(server))
17+
after(server.close.bind(server))
1618
server.keepAliveTimeout = 9999
1719

18-
server.listen(0, () => {
19-
const url = `http://localhost:${server.address().port}`
20-
const worker = new Worker(__filename, { workerData: { url } })
21-
worker.on('exit', code => {
22-
t.equal(code, 0)
23-
})
20+
server.listen(0)
21+
22+
await once(server, 'listening')
23+
const url = `http://localhost:${server.address().port}`
24+
const worker = new Worker(__filename, { workerData: { url } })
25+
worker.on('exit', code => {
26+
t.strictEqual(code, 0)
2427
})
28+
await t.completed
2529
})
2630

27-
tap.test('client automatically closes itself if the server is not there', t => {
28-
t.plan(1)
31+
test('client automatically closes itself if the server is not there', async t => {
32+
t = tspl(t, { plan: 1 })
2933

3034
const url = 'http://localhost:4242' // hopefully empty port
3135
const worker = new Worker(__filename, { workerData: { url } })
3236
worker.on('exit', code => {
33-
t.equal(code, 0)
37+
t.strictEqual(code, 0)
3438
})
39+
40+
await t.completed
3541
})
3642
} else {
3743
const { Client } = require('..')

0 commit comments

Comments
 (0)