File tree Expand file tree Collapse file tree 2 files changed +24
-4
lines changed 
playground/html/__tests__ Expand file tree Collapse file tree 2 files changed +24
-4
lines changed Original file line number Diff line number Diff line change @@ -165,7 +165,6 @@ kbd {
165165` 
166166
167167// Error Template 
168- let  template : HTMLElement 
169168const  createTemplate  =  ( )  => 
170169  h ( 
171170    'div' , 
@@ -214,9 +213,7 @@ export class ErrorOverlay extends HTMLElement {
214213  constructor ( err : ErrorPayload [ 'err' ] ,  links  =  true )  { 
215214    super ( ) 
216215    this . root  =  this . attachShadow ( {  mode : 'open'  } ) 
217- 
218-     template  ??=  createTemplate ( ) 
219-     this . root . appendChild ( template ) 
216+     this . root . appendChild ( createTemplate ( ) ) 
220217
221218    codeframeRE . lastIndex  =  0 
222219    const  hasFrame  =  err . frame  &&  codeframeRE . test ( err . frame ) 
Original file line number Diff line number Diff line change @@ -274,6 +274,29 @@ describe.runIf(isServe)('invalid', () => {
274274    expect ( isVisbleOverlay ) . toBeFalsy ( ) 
275275  } ) 
276276
277+   test ( 'stack is updated' ,  async  ( )  =>  { 
278+     await  page . goto ( viteTestUrl  +  '/invalid.html' ) 
279+ 
280+     const  errorOverlay  =  await  page . waitForSelector ( 'vite-error-overlay' ) 
281+     const  hiddenPromise  =  errorOverlay . waitForElementState ( 'hidden' ) 
282+     await  page . keyboard . press ( 'Escape' ) 
283+     await  hiddenPromise 
284+ 
285+     viteServer . hot . send ( { 
286+       type : 'error' , 
287+       err : { 
288+         message : 'someError' , 
289+         stack : [ 
290+           'Error: someError' , 
291+           '    at someMethod (/some/file.ts:1:2)' , 
292+         ] . join ( '\n' ) , 
293+       } , 
294+     } ) 
295+     const  newErrorOverlay  =  await  page . waitForSelector ( 'vite-error-overlay' ) 
296+     const  stack  =  await  newErrorOverlay . $$eval ( '.stack' ,  ( m )  =>  m [ 0 ] . innerHTML ) 
297+     expect ( stack ) . toMatch ( / ^ E r r o r :   s o m e E r r o r / ) 
298+   } ) 
299+ 
277300  test ( 'should reload when fixed' ,  async  ( )  =>  { 
278301    await  page . goto ( viteTestUrl  +  '/invalid.html' ) 
279302    await  editFile ( 'invalid.html' ,  ( content )  =>  { 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments