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 {