@@ -2,8 +2,6 @@ import util from 'node:util'
22import path from 'node:path'
33import { describe , expect , test } from 'vitest'
44import {
5- FALLBACK_FALSE ,
6- FALLBACK_TRUE ,
75 createCodeFilter ,
86 createFilterForTransform ,
97 createIdFilter ,
@@ -16,37 +14,37 @@ describe('createIdFilter', () => {
1614 inputFilter : 'foo.js' ,
1715 cases : [
1816 { 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 } ,
2220 ] ,
2321 } ,
2422 {
2523 inputFilter : [ 'foo.js' ] ,
2624 cases : [
2725 { id : 'foo.js' , expected : true } ,
28- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
26+ { id : 'foo.ts' , expected : false } ,
2927 ] ,
3028 } ,
3129 {
3230 inputFilter : { include : 'foo.js' } ,
3331 cases : [
3432 { id : 'foo.js' , expected : true } ,
35- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
33+ { id : 'foo.ts' , expected : false } ,
3634 ] ,
3735 } ,
3836 {
3937 inputFilter : { include : '*.js' } ,
4038 cases : [
4139 { id : 'foo.js' , expected : true } ,
42- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
40+ { id : 'foo.ts' , expected : false } ,
4341 ] ,
4442 } ,
4543 {
4644 inputFilter : { include : / \. j s $ / } ,
4745 cases : [
4846 { id : 'foo.js' , expected : true } ,
49- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
47+ { id : 'foo.ts' , expected : false } ,
5048 ] ,
5149 } ,
5250 {
@@ -56,50 +54,50 @@ describe('createIdFilter', () => {
5654 ...( process . platform === 'win32'
5755 ? [ { id : 'a\\foo.js' , expected : true } ]
5856 : [ ] ) ,
59- { id : 'a_foo.js' , expected : FALLBACK_FALSE } ,
57+ { id : 'a_foo.js' , expected : false } ,
6058 ] ,
6159 } ,
6260 {
6361 inputFilter : { include : [ / \. j s $ / ] } ,
6462 cases : [
6563 { id : 'foo.js' , expected : true } ,
66- { id : 'foo.ts' , expected : FALLBACK_FALSE } ,
64+ { id : 'foo.ts' , expected : false } ,
6765 ] ,
6866 } ,
6967 {
7068 inputFilter : { exclude : 'foo.js' } ,
7169 cases : [
7270 { id : 'foo.js' , expected : false } ,
73- { id : 'foo.ts' , expected : FALLBACK_TRUE } ,
71+ { id : 'foo.ts' , expected : true } ,
7472 ] ,
7573 } ,
7674 {
7775 inputFilter : { exclude : '*.js' } ,
7876 cases : [
7977 { id : 'foo.js' , expected : false } ,
80- { id : 'foo.ts' , expected : FALLBACK_TRUE } ,
78+ { id : 'foo.ts' , expected : true } ,
8179 ] ,
8280 } ,
8381 {
8482 inputFilter : { exclude : / \. j s $ / } ,
8583 cases : [
8684 { id : 'foo.js' , expected : false } ,
87- { id : 'foo.ts' , expected : FALLBACK_TRUE } ,
85+ { id : 'foo.ts' , expected : true } ,
8886 ] ,
8987 } ,
9088 {
9189 inputFilter : { exclude : [ / \. j s $ / ] } ,
9290 cases : [
9391 { id : 'foo.js' , expected : false } ,
94- { id : 'foo.ts' , expected : FALLBACK_TRUE } ,
92+ { id : 'foo.ts' , expected : true } ,
9593 ] ,
9694 } ,
9795 {
9896 inputFilter : { include : 'foo.js' , exclude : 'bar.js' } ,
9997 cases : [
10098 { id : 'foo.js' , expected : true } ,
10199 { id : 'bar.js' , expected : false } ,
102- { id : 'baz.js' , expected : FALLBACK_FALSE } ,
100+ { id : 'baz.js' , expected : false } ,
103101 ] ,
104102 } ,
105103 {
@@ -140,64 +138,64 @@ describe('createCodeFilter', () => {
140138 inputFilter : 'import.meta' ,
141139 cases : [
142140 { code : 'import.meta' , expected : true } ,
143- { code : 'import_meta' , expected : FALLBACK_FALSE } ,
141+ { code : 'import_meta' , expected : false } ,
144142 ] ,
145143 } ,
146144 {
147145 inputFilter : [ 'import.meta' ] ,
148146 cases : [
149147 { code : 'import.meta' , expected : true } ,
150- { code : 'import_meta' , expected : FALLBACK_FALSE } ,
148+ { code : 'import_meta' , expected : false } ,
151149 ] ,
152150 } ,
153151 {
154152 inputFilter : { include : 'import.meta' } ,
155153 cases : [
156154 { code : 'import.meta' , expected : true } ,
157- { code : 'import_meta' , expected : FALLBACK_FALSE } ,
155+ { code : 'import_meta' , expected : false } ,
158156 ] ,
159157 } ,
160158 {
161159 inputFilter : { include : / i m p o r t \. \w + / } ,
162160 cases : [
163161 { code : 'import.meta' , expected : true } ,
164- { code : 'import_meta' , expected : FALLBACK_FALSE } ,
162+ { code : 'import_meta' , expected : false } ,
165163 ] ,
166164 } ,
167165 {
168166 inputFilter : { include : [ / i m p o r t \. \w + / ] } ,
169167 cases : [
170168 { code : 'import.meta' , expected : true } ,
171- { code : 'import_meta' , expected : FALLBACK_FALSE } ,
169+ { code : 'import_meta' , expected : false } ,
172170 ] ,
173171 } ,
174172 {
175173 inputFilter : { exclude : 'import.meta' } ,
176174 cases : [
177175 { code : 'import.meta' , expected : false } ,
178- { code : 'import_meta' , expected : FALLBACK_TRUE } ,
176+ { code : 'import_meta' , expected : true } ,
179177 ] ,
180178 } ,
181179 {
182180 inputFilter : { exclude : / i m p o r t \. \w + / } ,
183181 cases : [
184182 { code : 'import.meta' , expected : false } ,
185- { code : 'import_meta' , expected : FALLBACK_TRUE } ,
183+ { code : 'import_meta' , expected : true } ,
186184 ] ,
187185 } ,
188186 {
189187 inputFilter : { exclude : [ / i m p o r t \. \w + / ] } ,
190188 cases : [
191189 { code : 'import.meta' , expected : false } ,
192- { code : 'import_meta' , expected : FALLBACK_TRUE } ,
190+ { code : 'import_meta' , expected : true } ,
193191 ] ,
194192 } ,
195193 {
196194 inputFilter : { include : 'import.meta' , exclude : 'import_meta' } ,
197195 cases : [
198196 { code : 'import.meta' , expected : true } ,
199197 { code : 'import_meta' , expected : false } ,
200- { code : 'importmeta' , expected : FALLBACK_FALSE } ,
198+ { code : 'importmeta' , expected : false } ,
201199 ] ,
202200 } ,
203201 {
@@ -259,7 +257,30 @@ describe('createFilterForTransform', () => {
259257 { id : 'foo.js' , code : 'import.meta' , expected : false } ,
260258 { id : 'foo.js' , code : 'import_meta' , expected : false } ,
261259 { 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 } ,
263284 ] ,
264285 } ,
265286 ]
0 commit comments