@@ -109,4 +109,36 @@ describe("matchFilesAgainstRule", () => {
109109 const matched = matchFilesAgainstRule ( [ file ] , rule . match , configRoot ) ;
110110 expect ( matched ) . toContain ( file ) ;
111111 } ) ;
112+ test ( "matches rule with leading slash" , ( ) => {
113+ const result = matchFilesAgainstRule ( updatedFiles , [ "/src/core/**" ] , root ) ;
114+ expect ( result ) . toEqual ( [ resolve ( "project/src/core/index.ts" ) ] ) ;
115+ } ) ;
116+ test ( "matches rule with trailing slash" , ( ) => {
117+ const result = matchFilesAgainstRule (
118+ updatedFiles ,
119+ [ "src/core/" ] , // Should auto-expand to src/core/**
120+ root
121+ ) ;
122+ expect ( result ) . toEqual ( [ resolve ( "project/src/core/index.ts" ) ] ) ;
123+ } ) ;
124+ test ( "matches rule with whitespace" , ( ) => {
125+ const result = matchFilesAgainstRule (
126+ updatedFiles ,
127+ [ " src/core/** " ] ,
128+ root
129+ ) ;
130+ expect ( result ) . toEqual ( [ resolve ( "project/src/core/index.ts" ) ] ) ;
131+ } ) ;
132+ test ( "matches dotfiles" , ( ) => {
133+ const result = matchFilesAgainstRule ( updatedFiles , [ ".env" ] , root ) ;
134+ expect ( result ) . toEqual ( [ resolve ( "project/.env" ) ] ) ;
135+ } ) ;
136+ test ( "matches deeply nested file" , ( ) => {
137+ const result = matchFilesAgainstRule (
138+ updatedFiles ,
139+ [ "src/models/searches/**" ] ,
140+ root
141+ ) ;
142+ expect ( result ) . toEqual ( [ resolve ( "project/src/models/searches/utils.ts" ) ] ) ;
143+ } ) ;
112144} ) ;
0 commit comments