@@ -2,8 +2,6 @@ import util from 'node:util'
2
2
import path from 'node:path'
3
3
import { describe , expect , test } from 'vitest'
4
4
import {
5
- FALLBACK_FALSE ,
6
- FALLBACK_TRUE ,
7
5
createCodeFilter ,
8
6
createFilterForTransform ,
9
7
createIdFilter ,
@@ -16,37 +14,37 @@ describe('createIdFilter', () => {
16
14
inputFilter : 'foo.js' ,
17
15
cases : [
18
16
{ id : 'foo.js' , expected : true } ,
19
- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
20
- { id : '\0foo.js' , expected : FALLBACK_FALSE } ,
21
- { id : '\0' + path . resolve ( 'foo.js' ) , expected : FALLBACK_FALSE } ,
17
+ { id : 'foo.ts' , expected : false } ,
18
+ { id : '\0foo.js' , expected : false } ,
19
+ { id : '\0' + path . resolve ( 'foo.js' ) , expected : false } ,
22
20
] ,
23
21
} ,
24
22
{
25
23
inputFilter : [ 'foo.js' ] ,
26
24
cases : [
27
25
{ id : 'foo.js' , expected : true } ,
28
- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
26
+ { id : 'foo.ts' , expected : false } ,
29
27
] ,
30
28
} ,
31
29
{
32
30
inputFilter : { include : 'foo.js' } ,
33
31
cases : [
34
32
{ id : 'foo.js' , expected : true } ,
35
- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
33
+ { id : 'foo.ts' , expected : false } ,
36
34
] ,
37
35
} ,
38
36
{
39
37
inputFilter : { include : '*.js' } ,
40
38
cases : [
41
39
{ id : 'foo.js' , expected : true } ,
42
- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
40
+ { id : 'foo.ts' , expected : false } ,
43
41
] ,
44
42
} ,
45
43
{
46
44
inputFilter : { include : / \. j s $ / } ,
47
45
cases : [
48
46
{ id : 'foo.js' , expected : true } ,
49
- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
47
+ { id : 'foo.ts' , expected : false } ,
50
48
] ,
51
49
} ,
52
50
{
@@ -56,50 +54,50 @@ describe('createIdFilter', () => {
56
54
...( process . platform === 'win32'
57
55
? [ { id : 'a\\foo.js' , expected : true } ]
58
56
: [ ] ) ,
59
- { id : 'a_foo.js' , expected : FALLBACK_FALSE } ,
57
+ { id : 'a_foo.js' , expected : false } ,
60
58
] ,
61
59
} ,
62
60
{
63
61
inputFilter : { include : [ / \. j s $ / ] } ,
64
62
cases : [
65
63
{ id : 'foo.js' , expected : true } ,
66
- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
64
+ { id : 'foo.ts' , expected : false } ,
67
65
] ,
68
66
} ,
69
67
{
70
68
inputFilter : { exclude : 'foo.js' } ,
71
69
cases : [
72
70
{ id : 'foo.js' , expected : false } ,
73
- { id : 'foo.ts' , expected : FALLBACK_TRUE } ,
71
+ { id : 'foo.ts' , expected : true } ,
74
72
] ,
75
73
} ,
76
74
{
77
75
inputFilter : { exclude : '*.js' } ,
78
76
cases : [
79
77
{ id : 'foo.js' , expected : false } ,
80
- { id : 'foo.ts' , expected : FALLBACK_TRUE } ,
78
+ { id : 'foo.ts' , expected : true } ,
81
79
] ,
82
80
} ,
83
81
{
84
82
inputFilter : { exclude : / \. j s $ / } ,
85
83
cases : [
86
84
{ id : 'foo.js' , expected : false } ,
87
- { id : 'foo.ts' , expected : FALLBACK_TRUE } ,
85
+ { id : 'foo.ts' , expected : true } ,
88
86
] ,
89
87
} ,
90
88
{
91
89
inputFilter : { exclude : [ / \. j s $ / ] } ,
92
90
cases : [
93
91
{ id : 'foo.js' , expected : false } ,
94
- { id : 'foo.ts' , expected : FALLBACK_TRUE } ,
92
+ { id : 'foo.ts' , expected : true } ,
95
93
] ,
96
94
} ,
97
95
{
98
96
inputFilter : { include : 'foo.js' , exclude : 'bar.js' } ,
99
97
cases : [
100
98
{ id : 'foo.js' , expected : true } ,
101
99
{ id : 'bar.js' , expected : false } ,
102
- { id : 'baz.js' , expected : FALLBACK_FALSE } ,
100
+ { id : 'baz.js' , expected : false } ,
103
101
] ,
104
102
} ,
105
103
{
@@ -140,64 +138,64 @@ describe('createCodeFilter', () => {
140
138
inputFilter : 'import.meta' ,
141
139
cases : [
142
140
{ code : 'import.meta' , expected : true } ,
143
- { code : 'import_meta' , expected : FALLBACK_FALSE } ,
141
+ { code : 'import_meta' , expected : false } ,
144
142
] ,
145
143
} ,
146
144
{
147
145
inputFilter : [ 'import.meta' ] ,
148
146
cases : [
149
147
{ code : 'import.meta' , expected : true } ,
150
- { code : 'import_meta' , expected : FALLBACK_FALSE } ,
148
+ { code : 'import_meta' , expected : false } ,
151
149
] ,
152
150
} ,
153
151
{
154
152
inputFilter : { include : 'import.meta' } ,
155
153
cases : [
156
154
{ code : 'import.meta' , expected : true } ,
157
- { code : 'import_meta' , expected : FALLBACK_FALSE } ,
155
+ { code : 'import_meta' , expected : false } ,
158
156
] ,
159
157
} ,
160
158
{
161
159
inputFilter : { include : / i m p o r t \. \w + / } ,
162
160
cases : [
163
161
{ code : 'import.meta' , expected : true } ,
164
- { code : 'import_meta' , expected : FALLBACK_FALSE } ,
162
+ { code : 'import_meta' , expected : false } ,
165
163
] ,
166
164
} ,
167
165
{
168
166
inputFilter : { include : [ / i m p o r t \. \w + / ] } ,
169
167
cases : [
170
168
{ code : 'import.meta' , expected : true } ,
171
- { code : 'import_meta' , expected : FALLBACK_FALSE } ,
169
+ { code : 'import_meta' , expected : false } ,
172
170
] ,
173
171
} ,
174
172
{
175
173
inputFilter : { exclude : 'import.meta' } ,
176
174
cases : [
177
175
{ code : 'import.meta' , expected : false } ,
178
- { code : 'import_meta' , expected : FALLBACK_TRUE } ,
176
+ { code : 'import_meta' , expected : true } ,
179
177
] ,
180
178
} ,
181
179
{
182
180
inputFilter : { exclude : / i m p o r t \. \w + / } ,
183
181
cases : [
184
182
{ code : 'import.meta' , expected : false } ,
185
- { code : 'import_meta' , expected : FALLBACK_TRUE } ,
183
+ { code : 'import_meta' , expected : true } ,
186
184
] ,
187
185
} ,
188
186
{
189
187
inputFilter : { exclude : [ / i m p o r t \. \w + / ] } ,
190
188
cases : [
191
189
{ code : 'import.meta' , expected : false } ,
192
- { code : 'import_meta' , expected : FALLBACK_TRUE } ,
190
+ { code : 'import_meta' , expected : true } ,
193
191
] ,
194
192
} ,
195
193
{
196
194
inputFilter : { include : 'import.meta' , exclude : 'import_meta' } ,
197
195
cases : [
198
196
{ code : 'import.meta' , expected : true } ,
199
197
{ code : 'import_meta' , expected : false } ,
200
- { code : 'importmeta' , expected : FALLBACK_FALSE } ,
198
+ { code : 'importmeta' , expected : false } ,
201
199
] ,
202
200
} ,
203
201
{
@@ -259,7 +257,30 @@ describe('createFilterForTransform', () => {
259
257
{ id : 'foo.js' , code : 'import.meta' , expected : false } ,
260
258
{ id : 'foo.js' , code : 'import_meta' , expected : false } ,
261
259
{ id : 'foo.ts' , code : 'import.meta' , expected : true } ,
262
- { id : 'foo.ts' , code : 'import_meta' , expected : true } ,
260
+ { id : 'foo.ts' , code : 'import_meta' , expected : false } ,
261
+ ] ,
262
+ } ,
263
+ {
264
+ inputFilter : [
265
+ { include : 'a*' , exclude : '*b' } ,
266
+ { include : 'a' , exclude : 'b' } ,
267
+ ] ,
268
+ cases : [
269
+ { id : 'ab' , code : '' , expected : false } ,
270
+ { id : 'a' , code : 'b' , expected : false } ,
271
+ { id : 'a' , code : '' , expected : false } ,
272
+ { id : 'c' , code : 'a' , expected : false } ,
273
+ { id : 'a' , code : 'a' , expected : true } ,
274
+ ] ,
275
+ } ,
276
+ {
277
+ inputFilter : [ { include : 'a*' , exclude : '*b' } , { exclude : 'b' } ] ,
278
+ cases : [
279
+ { id : 'ab' , code : '' , expected : false } ,
280
+ { id : 'a' , code : 'b' , expected : false } ,
281
+ { id : 'a' , code : '' , expected : true } ,
282
+ { id : 'c' , code : 'a' , expected : false } ,
283
+ { id : 'a' , code : 'a' , expected : true } ,
263
284
] ,
264
285
} ,
265
286
]
0 commit comments