File tree Expand file tree Collapse file tree 2 files changed +20
-10
lines changed Expand file tree Collapse file tree 2 files changed +20
-10
lines changed Original file line number Diff line number Diff line change @@ -41,6 +41,18 @@ test('cleanup runs effect cleanup functions', async () => {
4141  expect ( spy ) . toHaveBeenCalledTimes ( 1 ) 
4242} ) 
4343
44+ test ( 'cleanup cleans up every root and disconnects containers' ,  async  ( )  =>  { 
45+   const  { container : container1 }  =  await  render ( < div  /> ) 
46+   const  { container : container2 }  =  await  render ( < span  /> ) 
47+ 
48+   await  cleanup ( ) 
49+ 
50+   expect ( container1 ) . toBeEmptyDOMElement ( ) 
51+   expect ( container1 . isConnected ) . toBe ( false ) 
52+   expect ( container2 ) . toBeEmptyDOMElement ( ) 
53+   expect ( container2 . isConnected ) . toBe ( false ) 
54+ } ) 
55+ 
4456describe ( 'fake timers and missing act warnings' ,  ( )  =>  { 
4557  beforeEach ( ( )  =>  { 
4658    jest . resetAllMocks ( ) 
Original file line number Diff line number Diff line change @@ -239,16 +239,14 @@ async function render(
239239} 
240240
241241async  function  cleanup ( )  { 
242-   await  Promise . all ( 
243-     mountedRootEntries . map ( async  ( { root,  container} )  =>  { 
244-       await  act ( ( )  =>  { 
245-         root . unmount ( ) 
246-       } ) 
247-       if  ( container . parentNode  ===  document . body )  { 
248-         document . body . removeChild ( container ) 
249-       } 
250-     } ) , 
251-   ) 
242+   for  ( const  { container,  root}  of  mountedRootEntries )  { 
243+     // eslint-disable-next-line no-await-in-loop -- Overlapping act calls are not allowed. 
244+     await  root . unmount ( ) 
245+     if  ( container . parentNode  ===  document . body )  { 
246+       document . body . removeChild ( container ) 
247+     } 
248+   } 
249+ 
252250  mountedRootEntries . length  =  0 
253251  mountedContainers . clear ( ) 
254252} 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments