@@ -16,9 +16,9 @@ describe('ReactDOMComponent', () => {
1616 var React ;
1717 var ReactTestUtils ;
1818 var ReactDOM ;
19- var ReactDOMFeatureFlags ;
2019 var ReactDOMServer ;
2120 var inputValueTracking ;
21+ var ReactDOMFeatureFlags = require ( 'ReactDOMFeatureFlags' ) ;
2222
2323 function normalizeCodeLocInfo ( str ) {
2424 return str && str . replace ( / \( a t .+ ?: \d + \) / g, '(at **)' ) ;
@@ -1206,29 +1206,32 @@ describe('ReactDOMComponent', () => {
12061206 } ) ;
12071207
12081208 describe ( 'unmountComponent' , ( ) => {
1209- it ( 'should clean up input value tracking' , ( ) => {
1210- var container = document . createElement ( 'div' ) ;
1211- var node = ReactDOM . render ( < input type = "text" defaultValue = "foo" /> , container ) ;
1212- var tracker = inputValueTracking . _getTrackerFromNode ( node ) ;
1209+ // Fiber does not have a clean-up phase for host components; relies on GC
1210+ if ( ! ReactDOMFeatureFlags . useFiber ) {
1211+ it ( 'should clean up input value tracking' , ( ) => {
1212+ var container = document . createElement ( 'div' ) ;
1213+ var node = ReactDOM . render ( < input type = "text" defaultValue = "foo" /> , container ) ;
1214+ var tracker = inputValueTracking . _getTrackerFromNode ( node ) ;
12131215
1214- spyOn ( tracker , 'stopTracking' ) ;
1216+ spyOn ( tracker , 'stopTracking' ) ;
12151217
1216- ReactDOM . unmountComponentAtNode ( container ) ;
1218+ ReactDOM . unmountComponentAtNode ( container ) ;
12171219
1218- expect ( tracker . stopTracking . calls . count ( ) ) . toBe ( 1 ) ;
1219- } ) ;
1220+ expect ( tracker . stopTracking . calls . count ( ) ) . toBe ( 1 ) ;
1221+ } ) ;
12201222
1221- it ( 'should clean up input textarea tracking' , ( ) => {
1222- var container = document . createElement ( 'div' ) ;
1223- var node = ReactDOM . render ( < textarea defaultValue = "foo" /> , container ) ;
1224- var tracker = inputValueTracking . _getTrackerFromNode ( node ) ;
1223+ it ( 'should clean up input textarea tracking' , ( ) => {
1224+ var container = document . createElement ( 'div' ) ;
1225+ var node = ReactDOM . render ( < textarea defaultValue = "foo" /> , container ) ;
1226+ var tracker = inputValueTracking . _getTrackerFromNode ( node ) ;
12251227
1226- spyOn ( tracker , 'stopTracking' ) ;
1228+ spyOn ( tracker , 'stopTracking' ) ;
12271229
1228- ReactDOM . unmountComponentAtNode ( container ) ;
1230+ ReactDOM . unmountComponentAtNode ( container ) ;
12291231
1230- expect ( tracker . stopTracking . calls . count ( ) ) . toBe ( 1 ) ;
1231- } ) ;
1232+ expect ( tracker . stopTracking . calls . count ( ) ) . toBe ( 1 ) ;
1233+ } ) ;
1234+ }
12321235
12331236 it ( 'unmounts children before unsetting DOM node info' , ( ) => {
12341237 class Inner extends React . Component {
0 commit comments