3
3
* @typedef {import('unist').Parent } Parent
4
4
*/
5
5
6
- import test from 'tape'
6
+ import assert from 'node:assert/strict'
7
+ import test from 'node:test'
7
8
import { u } from 'unist-builder'
8
9
import { filter } from './index.js'
9
10
10
- test ( 'should not traverse into children of filtered out nodes' , ( t ) => {
11
+ test ( 'should not traverse into children of filtered out nodes' , ( ) => {
11
12
const tree = u ( 'root' , [ u ( 'node' , [ u ( 'leaf' , '1' ) ] ) , u ( 'leaf' , '2' ) ] )
12
13
/** @type {Record<string, number> } */
13
14
const types = { }
14
15
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 } )
19
18
20
19
/**
21
20
* @param {Node } node
@@ -26,25 +25,21 @@ test('should not traverse into children of filtered out nodes', (t) => {
26
25
}
27
26
} )
28
27
29
- test ( 'should return `null` if root node is filtered out' , ( t ) => {
28
+ test ( 'should return `null` if root node is filtered out' , ( ) => {
30
29
const tree = u ( 'root' , [ u ( 'node' , [ u ( 'leaf' , '1' ) ] ) , u ( 'leaf' , '2' ) ] )
31
30
32
- t . deepEqual ( filter ( tree , predicate ) , null )
33
-
34
- t . end ( )
31
+ assert . deepEqual ( filter ( tree , predicate ) , null )
35
32
36
33
function predicate ( ) {
37
34
return false
38
35
}
39
36
} )
40
37
41
- test ( 'should cascade-remove parent nodes' , ( t ) => {
38
+ test ( 'should cascade-remove parent nodes' , ( ) => {
42
39
const tree = u ( 'root' , [ u ( 'node' , [ u ( 'leaf' , '1' ) ] ) , u ( 'leaf' , '2' ) ] )
43
40
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 )
48
43
49
44
/**
50
45
* @param {Node } node
@@ -62,68 +57,60 @@ test('should cascade-remove parent nodes', (t) => {
62
57
}
63
58
} )
64
59
65
- test ( 'should not cascade-remove nodes that were empty initially' , ( t ) => {
60
+ test ( 'should not cascade-remove nodes that were empty initially' , ( ) => {
66
61
const tree = u ( 'node' , [ u ( 'node' , [ ] ) , u ( 'node' , [ u ( 'leaf' ) ] ) ] )
67
62
68
- t . deepEqual ( filter ( tree , 'node' ) , u ( 'node' , [ u ( 'node' , [ ] ) ] ) )
69
-
70
- t . end ( )
63
+ assert . deepEqual ( filter ( tree , 'node' ) , u ( 'node' , [ u ( 'node' , [ ] ) ] ) )
71
64
} )
72
65
73
- test ( 'should call iterator with `index` and `parent` args' , ( t ) => {
66
+ test ( 'should call iterator with `index` and `parent` args' , ( ) => {
74
67
const tree = u ( 'root' , [ u ( 'node' , [ u ( 'leaf' , '1' ) ] ) , u ( 'leaf' , '2' ) ] )
75
68
/** @type {Array<[Node, number|null|undefined, Parent|null|undefined]> } */
76
69
const callLog = [ ]
77
70
78
- t . deepEqual (
71
+ assert . deepEqual (
79
72
filter ( tree , ( a , b , c ) => {
80
73
callLog . push ( [ a , b , c ] )
81
74
return true
82
75
} ) ,
83
76
tree
84
77
)
85
78
86
- t . deepEqual ( callLog , [
79
+ assert . deepEqual ( callLog , [
87
80
[ tree , undefined , undefined ] ,
88
81
[ tree . children [ 0 ] , 0 , tree ] ,
89
82
// @ts -expect-error yeah, it exists.
90
83
[ tree . children [ 0 ] . children [ 0 ] , 0 , tree . children [ 0 ] ] ,
91
84
[ tree . children [ 1 ] , 1 , tree ]
92
85
] )
93
-
94
- t . end ( )
95
86
} )
96
87
97
- test ( 'should support type and node tests' , ( t ) => {
88
+ test ( 'should support type and node tests' , ( ) => {
98
89
const tree = u ( 'node' , [ u ( 'node' , [ u ( 'leaf' , '1' ) ] ) , u ( 'leaf' , '2' ) ] )
99
90
100
- t . deepEqual ( filter ( tree , 'node' ) , null )
101
- t . deepEqual (
91
+ assert . deepEqual ( filter ( tree , 'node' ) , null )
92
+ assert . deepEqual (
102
93
filter ( tree , { cascade : false } , 'node' ) ,
103
94
u ( 'node' , [ u ( 'node' , [ ] ) ] )
104
95
)
105
- t . deepEqual ( filter ( tree , { cascade : false } , 'leaf' ) , null )
106
-
107
- t . end ( )
96
+ assert . deepEqual ( filter ( tree , { cascade : false } , 'leaf' ) , null )
108
97
} )
109
98
110
- test ( 'opts.cascade' , ( t ) => {
99
+ test ( 'opts.cascade' , ( ) => {
111
100
const tree = u ( 'root' , [ u ( 'node' , [ u ( 'leaf' , '1' ) ] ) , u ( 'leaf' , '2' ) ] )
112
101
113
- t . deepEqual (
102
+ assert . deepEqual (
114
103
filter ( tree , { cascade : true } , predicate ) ,
115
104
null ,
116
105
'opts.cascade = true'
117
106
)
118
107
119
- t . deepEqual (
108
+ assert . deepEqual (
120
109
filter ( tree , { cascade : false } , predicate ) ,
121
110
u ( 'root' , [ u ( 'node' , [ ] ) ] ) ,
122
111
'opts.cascade = false'
123
112
)
124
113
125
- t . end ( )
126
-
127
114
/**
128
115
* @param {Node } node
129
116
*/
@@ -132,21 +119,19 @@ test('opts.cascade', (t) => {
132
119
}
133
120
} )
134
121
135
- test ( 'example from README' , ( t ) => {
122
+ test ( 'example from README' , ( ) => {
136
123
const tree = u ( 'root' , [
137
124
u ( 'leaf' , '1' ) ,
138
125
u ( 'node' , [ u ( 'leaf' , '2' ) , u ( 'node' , [ u ( 'leaf' , '3' ) ] ) ] ) ,
139
126
u ( 'leaf' , '4' )
140
127
] )
141
128
142
- t . deepEqual (
129
+ assert . deepEqual (
143
130
filter ( tree , predicate ) ,
144
131
u ( 'root' , [ u ( 'node' , [ u ( 'leaf' , '2' ) ] ) , u ( 'leaf' , '4' ) ] ) ,
145
132
'example from readme'
146
133
)
147
134
148
- t . end ( )
149
-
150
135
/**
151
136
* @param {Node } node
152
137
*/
0 commit comments