@samitouri / QOS-React / commits / f4cabafc8d

Don't test input value clean-up in Fiber

Fiber doesn't clean up host components; relies on GC.

Andrew Clark committed Feb 7, 2017 at 11:27 UTC f4cabafc8db39cfbd14317d99861a5ac98a00b8a
2 files changed +20 -19
scripts/fiber/tests-failing.txt
-2
@@ -23,8 +23,6 @@ src/renderers/__tests__/refs-test.js
23 * Should increase refs with an increase in divs
24
25 src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
26 -* should clean up input value tracking
27 -* should clean up input textarea tracking
26 * gives source code refs for unknown prop warning (ssr)
27 * gives source code refs for unknown prop warning for exact elements (ssr)
28 * gives source code refs for unknown prop warning for exact elements in composition (ssr)
src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
+20 -17
@@ -16,9 +16,9 @@ describe('ReactDOMComponent', () => {
16 var React;
17 var ReactTestUtils;
18 var ReactDOM;
19 - var ReactDOMFeatureFlags;
19 var ReactDOMServer;
20 var inputValueTracking;
21 + var ReactDOMFeatureFlags = require('ReactDOMFeatureFlags');
22
23 function normalizeCodeLocInfo(str) {
24 return str && str.replace(/\(at .+?:\d+\)/g, '(at **)');
@@ -1206,29 +1206,32 @@ describe('ReactDOMComponent', () => {
1206 });
1207
1208 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);
1215
1214 - spyOn(tracker, 'stopTracking');
1216 + spyOn(tracker, 'stopTracking');
1217
1216 - ReactDOM.unmountComponentAtNode(container);
1218 + ReactDOM.unmountComponentAtNode(container);
1219
1218 - expect(tracker.stopTracking.calls.count()).toBe(1);
1219 - });
1220 + expect(tracker.stopTracking.calls.count()).toBe(1);
1221 + });
1222
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);
1227
1226 - spyOn(tracker, 'stopTracking');
1228 + spyOn(tracker, 'stopTracking');
1229
1228 - ReactDOM.unmountComponentAtNode(container);
1230 + ReactDOM.unmountComponentAtNode(container);
1231
1230 - expect(tracker.stopTracking.calls.count()).toBe(1);
1231 - });
1232 + expect(tracker.stopTracking.calls.count()).toBe(1);
1233 + });
1234 + }
1235
1236 it('unmounts children before unsetting DOM node info', () => {
1237 class Inner extends React.Component {