@@ -13,7 +13,14 @@ import {
1313import  type  {  Page  }  from  'playwright-chromium' 
1414import  WebSocket  from  'ws' 
1515import  testJSON  from  '../safe.json' 
16- import  {  browser ,  isServe ,  page ,  viteServer ,  viteTestUrl  }  from  '~utils' 
16+ import  { 
17+   browser , 
18+   isServe , 
19+   isWindows , 
20+   page , 
21+   viteServer , 
22+   viteTestUrl , 
23+ }  from  '~utils' 
1724
1825const  __dirname  =  path . dirname ( fileURLToPath ( import . meta. url ) ) 
1926
@@ -493,6 +500,23 @@ describe.runIf(isServe)('invalid request', () => {
493500    expect ( response ) . toContain ( 'HTTP/1.1 403 Forbidden' ) 
494501  } ) 
495502
503+   test ( 'should deny request to denied file when a request ends with \\' ,  async  ( )  =>  { 
504+     const  response  =  await  sendRawRequest ( viteTestUrl ,  '/src/.env\\' ) 
505+     expect ( response ) . toContain ( 
506+       isWindows  ? 'HTTP/1.1 403 Forbidden'  : 'HTTP/1.1 404 Not Found' , 
507+     ) 
508+   } ) 
509+ 
510+   test ( 'should deny request to denied file when a request ends with \\ with /@fs/' ,  async  ( )  =>  { 
511+     const  response  =  await  sendRawRequest ( 
512+       viteTestUrl , 
513+       path . posix . join ( '/@fs/' ,  root ,  'root/src/.env' )  +  '\\' , 
514+     ) 
515+     expect ( response ) . toContain ( 
516+       isWindows  ? 'HTTP/1.1 403 Forbidden'  : 'HTTP/1.1 404 Not Found' , 
517+     ) 
518+   } ) 
519+ 
496520  test ( 'should deny request with /@fs/ to denied file when a request has /.' ,  async  ( )  =>  { 
497521    const  response  =  await  sendRawRequest ( 
498522      viteTestUrl , 
0 commit comments