@@ -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