77 * @flow  
88 */ 
99
10+ import  { getVersionedRenderImplementation }  from  './utils' ; 
11+ 
1012describe ( 'Fast Refresh' ,  ( )  =>  { 
1113  let  React ; 
1214  let  ReactFreshRuntime ; 
1315  let  act ; 
1416  let  babel ; 
15-   let  container ; 
1617  let  exportsObj ; 
1718  let  freshPlugin ; 
18-   let  legacyRender ; 
1919  let  store ; 
2020  let  withErrorsOrWarningsIgnored ; 
2121
22-   afterEach ( ( )  =>  { 
23-     jest . resetModules ( ) ; 
24-   } ) ; 
25- 
2622  beforeEach ( ( )  =>  { 
2723    exportsObj  =  undefined ; 
28-     container  =  document . createElement ( 'div' ) ; 
2924
3025    babel  =  require ( '@babel/core' ) ; 
3126    freshPlugin  =  require ( 'react-refresh/babel' ) ; 
@@ -39,10 +34,12 @@ describe('Fast Refresh', () => {
3934
4035    const  utils  =  require ( './utils' ) ; 
4136    act  =  utils . act ; 
42-     legacyRender  =  utils . legacyRender ; 
4337    withErrorsOrWarningsIgnored  =  utils . withErrorsOrWarningsIgnored ; 
4438  } ) ; 
4539
40+   const  { render : renderImplementation ,  getContainer}  = 
41+     getVersionedRenderImplementation ( ) ; 
42+ 
4643  function  execute ( source )  { 
4744    const  compiled  =  babel . transform ( source ,  { 
4845      babelrc : false , 
@@ -73,7 +70,7 @@ describe('Fast Refresh', () => {
7370  function  render ( source )  { 
7471    const  Component  =  execute ( source ) ; 
7572    act ( ( )  =>  { 
76-       legacyRender ( < Component  /> ,   container ) ; 
73+       renderImplementation ( < Component  /> ) ; 
7774    } ) ; 
7875    // Module initialization shouldn't be counted as a hot update. 
7976    expect ( ReactFreshRuntime . performReactRefresh ( ) ) . toBe ( null ) ; 
@@ -98,7 +95,7 @@ describe('Fast Refresh', () => {
9895      // Here, we'll just force a re-render using the newer type to emulate this. 
9996      const  NextComponent  =  nextExports . default ; 
10097      act ( ( )  =>  { 
101-         legacyRender ( < NextComponent  /> ,   container ) ; 
98+         renderImplementation ( < NextComponent  /> ) ; 
10299      } ) ; 
103100    } 
104101    act ( ( )  =>  { 
@@ -142,8 +139,8 @@ describe('Fast Refresh', () => {
142139            <Child key="A"> 
143140    ` ) ; 
144141
145-     let  element  =  container . firstChild ; 
146-     expect ( container . firstChild ) . not . toBe ( null ) ; 
142+     let  element  =  getContainer ( ) . firstChild ; 
143+     expect ( getContainer ( ) . firstChild ) . not . toBe ( null ) ; 
147144
148145    patch ( ` 
149146      function Parent() { 
@@ -163,8 +160,8 @@ describe('Fast Refresh', () => {
163160    ` ) ; 
164161
165162    // State is preserved; this verifies that Fast Refresh is wired up. 
166-     expect ( container . firstChild ) . toBe ( element ) ; 
167-     element  =  container . firstChild ; 
163+     expect ( getContainer ( ) . firstChild ) . toBe ( element ) ; 
164+     element  =  getContainer ( ) . firstChild ; 
168165
169166    patch ( ` 
170167      function Parent() { 
@@ -184,7 +181,7 @@ describe('Fast Refresh', () => {
184181    ` ) ; 
185182
186183    // State is reset because hooks changed. 
187-     expect ( container . firstChild ) . not . toBe ( element ) ; 
184+     expect ( getContainer ( ) . firstChild ) . not . toBe ( element ) ; 
188185  } ) ; 
189186
190187  // @reactVersion  >= 16.9 
0 commit comments