Skip to content

Commit 9b7dc40

Browse files
authored
Merge pull request #8948 from acdlite/fiberdonttesthostcleanup
[Fiber] Don't test input value clean-up in Fiber
2 parents b187142 + f4cabaf commit 9b7dc40

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

scripts/fiber/tests-failing.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ src/renderers/__tests__/refs-test.js
2323
* Should increase refs with an increase in divs
2424

2525
src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
26-
* should clean up input value tracking
27-
* should clean up input textarea tracking
2826
* gives source code refs for unknown prop warning (ssr)
2927
* gives source code refs for unknown prop warning for exact elements (ssr)
3028
* gives source code refs for unknown prop warning for exact elements in composition (ssr)

src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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(/\(at .+?:\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

Comments
 (0)