Skip to content

Commit 49f0a3b

Browse files
committed
Use Node test runner
1 parent 2eff5e1 commit 49f0a3b

File tree

3 files changed

+27
-43
lines changed

3 files changed

+27
-43
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ jobs:
1717
strategy:
1818
matrix:
1919
node:
20-
- lts/fermium
20+
- lts/gallium
2121
- node

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,11 @@
4040
},
4141
"devDependencies": {
4242
"@types/mdast": "^3.0.0",
43-
"@types/tape": "^4.0.0",
43+
"@types/node": "^18.0.0",
4444
"c8": "^7.0.0",
4545
"prettier": "^2.0.0",
4646
"remark-cli": "^11.0.0",
4747
"remark-preset-wooorm": "^9.0.0",
48-
"tape": "^5.0.0",
4948
"tsd": "^0.25.0",
5049
"type-coverage": "^2.0.0",
5150
"typescript": "^4.0.0",
@@ -54,7 +53,7 @@
5453
},
5554
"scripts": {
5655
"prepack": "npm run build && npm run format",
57-
"build": "tsc --build --clean && tsc --build && type-coverage",
56+
"build": "tsc --build --clean && tsc --build && tsd && type-coverage",
5857
"format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix",
5958
"test-api": "node --conditions development test.js",
6059
"test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api",

test.js

Lines changed: 24 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,18 @@
33
* @typedef {import('unist').Parent} Parent
44
*/
55

6-
import test from 'tape'
6+
import assert from 'node:assert/strict'
7+
import test from 'node:test'
78
import {u} from 'unist-builder'
89
import {filter} from './index.js'
910

10-
test('should not traverse into children of filtered out nodes', (t) => {
11+
test('should not traverse into children of filtered out nodes', () => {
1112
const tree = u('root', [u('node', [u('leaf', '1')]), u('leaf', '2')])
1213
/** @type {Record<string, number>} */
1314
const types = {}
1415

15-
t.deepEqual(filter(tree, predicate), u('root', [u('leaf', '2')]))
16-
t.deepEqual(types, {root: 1, node: 1, leaf: 1})
17-
18-
t.end()
16+
assert.deepEqual(filter(tree, predicate), u('root', [u('leaf', '2')]))
17+
assert.deepEqual(types, {root: 1, node: 1, leaf: 1})
1918

2019
/**
2120
* @param {Node} node
@@ -26,25 +25,21 @@ test('should not traverse into children of filtered out nodes', (t) => {
2625
}
2726
})
2827

29-
test('should return `null` if root node is filtered out', (t) => {
28+
test('should return `null` if root node is filtered out', () => {
3029
const tree = u('root', [u('node', [u('leaf', '1')]), u('leaf', '2')])
3130

32-
t.deepEqual(filter(tree, predicate), null)
33-
34-
t.end()
31+
assert.deepEqual(filter(tree, predicate), null)
3532

3633
function predicate() {
3734
return false
3835
}
3936
})
4037

41-
test('should cascade-remove parent nodes', (t) => {
38+
test('should cascade-remove parent nodes', () => {
4239
const tree = u('root', [u('node', [u('leaf', '1')]), u('leaf', '2')])
4340

44-
t.deepEqual(filter(tree, notOne), u('root', [u('leaf', '2')]))
45-
t.deepEqual(filter(tree, notLeaf), null)
46-
47-
t.end()
41+
assert.deepEqual(filter(tree, notOne), u('root', [u('leaf', '2')]))
42+
assert.deepEqual(filter(tree, notLeaf), null)
4843

4944
/**
5045
* @param {Node} node
@@ -62,68 +57,60 @@ test('should cascade-remove parent nodes', (t) => {
6257
}
6358
})
6459

65-
test('should not cascade-remove nodes that were empty initially', (t) => {
60+
test('should not cascade-remove nodes that were empty initially', () => {
6661
const tree = u('node', [u('node', []), u('node', [u('leaf')])])
6762

68-
t.deepEqual(filter(tree, 'node'), u('node', [u('node', [])]))
69-
70-
t.end()
63+
assert.deepEqual(filter(tree, 'node'), u('node', [u('node', [])]))
7164
})
7265

73-
test('should call iterator with `index` and `parent` args', (t) => {
66+
test('should call iterator with `index` and `parent` args', () => {
7467
const tree = u('root', [u('node', [u('leaf', '1')]), u('leaf', '2')])
7568
/** @type {Array<[Node, number|null|undefined, Parent|null|undefined]>} */
7669
const callLog = []
7770

78-
t.deepEqual(
71+
assert.deepEqual(
7972
filter(tree, (a, b, c) => {
8073
callLog.push([a, b, c])
8174
return true
8275
}),
8376
tree
8477
)
8578

86-
t.deepEqual(callLog, [
79+
assert.deepEqual(callLog, [
8780
[tree, undefined, undefined],
8881
[tree.children[0], 0, tree],
8982
// @ts-expect-error yeah, it exists.
9083
[tree.children[0].children[0], 0, tree.children[0]],
9184
[tree.children[1], 1, tree]
9285
])
93-
94-
t.end()
9586
})
9687

97-
test('should support type and node tests', (t) => {
88+
test('should support type and node tests', () => {
9889
const tree = u('node', [u('node', [u('leaf', '1')]), u('leaf', '2')])
9990

100-
t.deepEqual(filter(tree, 'node'), null)
101-
t.deepEqual(
91+
assert.deepEqual(filter(tree, 'node'), null)
92+
assert.deepEqual(
10293
filter(tree, {cascade: false}, 'node'),
10394
u('node', [u('node', [])])
10495
)
105-
t.deepEqual(filter(tree, {cascade: false}, 'leaf'), null)
106-
107-
t.end()
96+
assert.deepEqual(filter(tree, {cascade: false}, 'leaf'), null)
10897
})
10998

110-
test('opts.cascade', (t) => {
99+
test('opts.cascade', () => {
111100
const tree = u('root', [u('node', [u('leaf', '1')]), u('leaf', '2')])
112101

113-
t.deepEqual(
102+
assert.deepEqual(
114103
filter(tree, {cascade: true}, predicate),
115104
null,
116105
'opts.cascade = true'
117106
)
118107

119-
t.deepEqual(
108+
assert.deepEqual(
120109
filter(tree, {cascade: false}, predicate),
121110
u('root', [u('node', [])]),
122111
'opts.cascade = false'
123112
)
124113

125-
t.end()
126-
127114
/**
128115
* @param {Node} node
129116
*/
@@ -132,21 +119,19 @@ test('opts.cascade', (t) => {
132119
}
133120
})
134121

135-
test('example from README', (t) => {
122+
test('example from README', () => {
136123
const tree = u('root', [
137124
u('leaf', '1'),
138125
u('node', [u('leaf', '2'), u('node', [u('leaf', '3')])]),
139126
u('leaf', '4')
140127
])
141128

142-
t.deepEqual(
129+
assert.deepEqual(
143130
filter(tree, predicate),
144131
u('root', [u('node', [u('leaf', '2')]), u('leaf', '4')]),
145132
'example from readme'
146133
)
147134

148-
t.end()
149-
150135
/**
151136
* @param {Node} node
152137
*/

0 commit comments

Comments
 (0)