react-dom: convert packages/react-dom/src/__tests__ (#11776)
Raphael Amorim committed
Dec 5, 2017 at 16:29 UTC
48616e591fe23c0b89b0823c3ec99bae2d7b6853
58 files changed
+1591
-1579
packages/react-dom/src/__tests__/CSSPropertyOperations-test.js
+30
-30
@@ -9,9 +9,9 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var ReactDOM = require('react-dom');
14
-var ReactDOMServer = require('react-dom/server');
12
+const React = require('react');
13
+const ReactDOM = require('react-dom');
14
+const ReactDOMServer = require('react-dom/server');
15
16
function normalizeCodeLocInfo(str) {
17
return str && str.replace(/at .+?:\d+/g, 'at **');
@@ -19,66 +19,66 @@ function normalizeCodeLocInfo(str) {
19
20
describe('CSSPropertyOperations', () => {
21
it('should automatically append `px` to relevant styles', () => {
22
- var styles = {
22
+ const styles = {
23
left: 0,
24
margin: 16,
25
opacity: 0.5,
26
padding: '4px',
27
};
28
- var div = <div style={styles} />;
29
- var html = ReactDOMServer.renderToString(div);
28
+ const div = <div style={styles} />;
29
+ const html = ReactDOMServer.renderToString(div);
30
expect(html).toContain('"left:0;margin:16px;opacity:0.5;padding:4px"');
31
});
32
33
it('should trim values', () => {
34
- var styles = {
34
+ const styles = {
35
left: '16 ',
36
opacity: 0.5,
37
right: ' 4 ',
38
};
39
- var div = <div style={styles} />;
40
- var html = ReactDOMServer.renderToString(div);
39
+ const div = <div style={styles} />;
40
+ const html = ReactDOMServer.renderToString(div);
41
expect(html).toContain('"left:16;opacity:0.5;right:4"');
42
});
43
44
it('should not append `px` to styles that might need a number', () => {
45
- var styles = {
45
+ const styles = {
46
flex: 0,
47
opacity: 0.5,
48
};
49
- var div = <div style={styles} />;
50
- var html = ReactDOMServer.renderToString(div);
49
+ const div = <div style={styles} />;
50
+ const html = ReactDOMServer.renderToString(div);
51
expect(html).toContain('"flex:0;opacity:0.5"');
52
});
53
54
it('should create vendor-prefixed markup correctly', () => {
55
- var styles = {
55
+ const styles = {
56
msTransition: 'none',
57
MozTransition: 'none',
58
};
59
- var div = <div style={styles} />;
60
- var html = ReactDOMServer.renderToString(div);
59
+ const div = <div style={styles} />;
60
+ const html = ReactDOMServer.renderToString(div);
61
expect(html).toContain('"-ms-transition:none;-moz-transition:none"');
62
});
63
64
it('should set style attribute when styles exist', () => {
65
- var styles = {
65
+ const styles = {
66
backgroundColor: '#000',
67
display: 'none',
68
};
69
- var div = <div style={styles} />;
70
- var root = document.createElement('div');
69
+ let div = <div style={styles} />;
70
+ const root = document.createElement('div');
71
div = ReactDOM.render(div, root);
72
expect(/style=".*"/.test(root.innerHTML)).toBe(true);
73
});
74
75
it('should not set style attribute when no styles exist', () => {
76
- var styles = {
76
+ const styles = {
77
backgroundColor: null,
78
display: null,
79
};
80
- var div = <div style={styles} />;
81
- var html = ReactDOMServer.renderToString(div);
80
+ const div = <div style={styles} />;
81
+ const html = ReactDOMServer.renderToString(div);
82
expect(/style=/.test(html)).toBe(false);
83
});
84
@@ -92,7 +92,7 @@ describe('CSSPropertyOperations', () => {
92
}
93
94
spyOnDev(console, 'error');
95
- var root = document.createElement('div');
95
+ const root = document.createElement('div');
96
ReactDOM.render(<Comp />, root);
97
if (__DEV__) {
98
expect(console.error.calls.count()).toBe(1);
@@ -114,11 +114,11 @@ describe('CSSPropertyOperations', () => {
114
}
115
116
spyOnDev(console, 'error');
117
- var styles = {
117
+ const styles = {
118
'-ms-transform': 'translate3d(0, 0, 0)',
119
'-webkit-transform': 'translate3d(0, 0, 0)',
120
};
121
- var root = document.createElement('div');
121
+ const root = document.createElement('div');
122
ReactDOM.render(<Comp />, root);
123
ReactDOM.render(<Comp style={styles} />, root);
124
@@ -155,7 +155,7 @@ describe('CSSPropertyOperations', () => {
155
}
156
157
spyOnDev(console, 'error');
158
- var root = document.createElement('div');
158
+ const root = document.createElement('div');
159
ReactDOM.render(<Comp />, root);
160
if (__DEV__) {
161
// msTransform is correct already and shouldn't warn
@@ -194,7 +194,7 @@ describe('CSSPropertyOperations', () => {
194
}
195
196
spyOnDev(console, 'error');
197
- var root = document.createElement('div');
197
+ const root = document.createElement('div');
198
ReactDOM.render(<Comp />, root);
199
if (__DEV__) {
200
expect(console.error.calls.count()).toBe(2);
@@ -223,7 +223,7 @@ describe('CSSPropertyOperations', () => {
223
}
224
225
spyOnDev(console, 'error');
226
- var root = document.createElement('div');
226
+ const root = document.createElement('div');
227
ReactDOM.render(<Comp />, root);
228
229
if (__DEV__) {
@@ -243,7 +243,7 @@ describe('CSSPropertyOperations', () => {
243
}
244
}
245
246
- var root = document.createElement('div');
246
+ const root = document.createElement('div');
247
ReactDOM.render(<Comp />, root);
248
});
249
@@ -257,7 +257,7 @@ describe('CSSPropertyOperations', () => {
257
}
258
259
spyOnDev(console, 'error');
260
- var root = document.createElement('div');
260
+ const root = document.createElement('div');
261
ReactDOM.render(<Comp />, root);
262
263
if (__DEV__) {
@@ -277,7 +277,7 @@ describe('CSSPropertyOperations', () => {
277
}
278
}
279
280
- var root = document.createElement('div');
280
+ const root = document.createElement('div');
281
ReactDOM.render(<Comp />, root);
282
283
expect(root.children[0].style.Foo).toEqual('5');
packages/react-dom/src/__tests__/DOMPropertyOperations-test.js
+17
-17
@@ -10,8 +10,8 @@
10
'use strict';
11
12
describe('DOMPropertyOperations', () => {
13
- var React;
14
- var ReactDOM;
13
+ let React;
14
+ let ReactDOM;
15
16
beforeEach(() => {
17
jest.resetModules();
@@ -21,20 +21,20 @@ describe('DOMPropertyOperations', () => {
21
22
describe('setValueForProperty', () => {
23
it('should set values as properties by default', () => {
24
- var container = document.createElement('div');
24
+ const container = document.createElement('div');
25
ReactDOM.render(<div title="Tip!" />, container);
26
expect(container.firstChild.title).toBe('Tip!');
27
});
28
29
it('should set values as attributes if necessary', () => {
30
- var container = document.createElement('div');
30
+ const container = document.createElement('div');
31
ReactDOM.render(<div role="#" />, container);
32
expect(container.firstChild.getAttribute('role')).toBe('#');
33
expect(container.firstChild.role).toBeUndefined();
34
});
35
36
it('should set values as namespace attributes if necessary', () => {
37
- var container = document.createElement('svg');
37
+ const container = document.createElement('svg');
38
ReactDOM.render(<image xlinkHref="about:blank" />, container);
39
expect(
40
container.firstChild.getAttributeNS(
@@ -45,7 +45,7 @@ describe('DOMPropertyOperations', () => {
45
});
46
47
it('should set values as boolean properties', () => {
48
- var container = document.createElement('div');
48
+ const container = document.createElement('div');
49
ReactDOM.render(<div disabled="disabled" />, container);
50
expect(container.firstChild.getAttribute('disabled')).toBe('');
51
ReactDOM.render(<div disabled={true} />, container);
@@ -63,32 +63,32 @@ describe('DOMPropertyOperations', () => {
63
it('should convert attribute values to string first', () => {
64
// Browsers default to this behavior, but some test environments do not.
65
// This ensures that we have consistent behavior.
66
- var obj = {
66
+ const obj = {
67
toString: function() {
68
return 'css-class';
69
},
70
};
71
72
- var container = document.createElement('div');
72
+ const container = document.createElement('div');
73
ReactDOM.render(<div className={obj} />, container);
74
expect(container.firstChild.getAttribute('class')).toBe('css-class');
75
});
76
77
it('should not remove empty attributes for special properties', () => {
78
- var container = document.createElement('div');
78
+ const container = document.createElement('div');
79
ReactDOM.render(<input value="" />, container);
80
expect(container.firstChild.getAttribute('value')).toBe('');
81
expect(container.firstChild.value).toBe('');
82
});
83
84
it('should remove for falsey boolean properties', () => {
85
- var container = document.createElement('div');
85
+ const container = document.createElement('div');
86
ReactDOM.render(<div allowFullScreen={false} />, container);
87
expect(container.firstChild.hasAttribute('allowFullScreen')).toBe(false);
88
});
89
90
it('should remove when setting custom attr to null', () => {
91
- var container = document.createElement('div');
91
+ const container = document.createElement('div');
92
ReactDOM.render(<div data-foo="bar" />, container);
93
expect(container.firstChild.hasAttribute('data-foo')).toBe(true);
94
ReactDOM.render(<div data-foo={null} />, container);
@@ -96,7 +96,7 @@ describe('DOMPropertyOperations', () => {
96
});
97
98
it('should set className to empty string instead of null', () => {
99
- var container = document.createElement('div');
99
+ const container = document.createElement('div');
100
ReactDOM.render(<div className="selected" />, container);
101
expect(container.firstChild.className).toBe('selected');
102
ReactDOM.render(<div className={null} />, container);
@@ -107,7 +107,7 @@ describe('DOMPropertyOperations', () => {
107
});
108
109
it('should remove property properly for boolean properties', () => {
110
- var container = document.createElement('div');
110
+ const container = document.createElement('div');
111
ReactDOM.render(<div hidden={true} />, container);
112
expect(container.firstChild.hasAttribute('hidden')).toBe(true);
113
ReactDOM.render(<div hidden={false} />, container);
@@ -117,7 +117,7 @@ describe('DOMPropertyOperations', () => {
117
118
describe('value mutation method', function() {
119
it('should update an empty attribute to zero', function() {
120
- var container = document.createElement('div');
120
+ const container = document.createElement('div');
121
ReactDOM.render(
122
<input type="radio" value="" onChange={function() {}} />,
123
container,
@@ -131,7 +131,7 @@ describe('DOMPropertyOperations', () => {
131
});
132
133
it('should always assign the value attribute for non-inputs', function() {
134
- var container = document.createElement('div');
134
+ const container = document.createElement('div');
135
ReactDOM.render(<progress />, container);
136
spyOnDevAndProd(container.firstChild, 'setAttribute');
137
ReactDOM.render(<progress value={30} />, container);
@@ -142,7 +142,7 @@ describe('DOMPropertyOperations', () => {
142
143
describe('deleteValueForProperty', () => {
144
it('should remove attributes for normal properties', () => {
145
- var container = document.createElement('div');
145
+ const container = document.createElement('div');
146
ReactDOM.render(<div title="foo" />, container);
147
expect(container.firstChild.getAttribute('title')).toBe('foo');
148
ReactDOM.render(<div />, container);
@@ -150,7 +150,7 @@ describe('DOMPropertyOperations', () => {
150
});
151
152
it('should not remove attributes for special properties', () => {
153
- var container = document.createElement('div');
153
+ const container = document.createElement('div');
154
spyOnDev(console, 'error');
155
ReactDOM.render(
156
<input type="text" value="foo" onChange={function() {}} />,
packages/react-dom/src/__tests__/EventPluginHub-test.js
+4
-4
@@ -12,8 +12,8 @@
12
jest.mock('../events/isEventSupported');
13
14
describe('EventPluginHub', () => {
15
- var React;
16
- var ReactTestUtils;
15
+ let React;
16
+ let ReactTestUtils;
17
18
beforeEach(() => {
19
jest.resetModules();
@@ -23,7 +23,7 @@ describe('EventPluginHub', () => {
23
24
it('should prevent non-function listeners, at dispatch', () => {
25
spyOnDev(console, 'error');
26
- var node = ReactTestUtils.renderIntoDocument(
26
+ const node = ReactTestUtils.renderIntoDocument(
27
<div onClick="not a function" />,
28
);
29
expect(function() {
@@ -40,7 +40,7 @@ describe('EventPluginHub', () => {
40
});
41
42
it('should not prevent null listeners, at dispatch', () => {
43
- var node = ReactTestUtils.renderIntoDocument(<div onClick={null} />);
43
+ const node = ReactTestUtils.renderIntoDocument(<div onClick={null} />);
44
expect(function() {
45
ReactTestUtils.SimulateNative.click(node);
46
}).not.toThrow();
packages/react-dom/src/__tests__/ReactBrowserEventEmitter-test.internal.js
+41
-41
@@ -9,42 +9,42 @@
9
10
'use strict';
11
12
-var EventPluginHub;
13
-var EventPluginRegistry;
14
-var React;
15
-var ReactDOM;
16
-var ReactDOMComponentTree;
17
-var ReactBrowserEventEmitter;
18
-var ReactTestUtils;
19
-
20
-var idCallOrder;
21
-var recordID = function(id) {
12
+let EventPluginHub;
13
+let EventPluginRegistry;
14
+let React;
15
+let ReactDOM;
16
+let ReactDOMComponentTree;
17
+let ReactBrowserEventEmitter;
18
+let ReactTestUtils;
19
+
20
+let idCallOrder;
21
+const recordID = function(id) {
22
idCallOrder.push(id);
23
};
24
-var recordIDAndStopPropagation = function(id, event) {
24
+const recordIDAndStopPropagation = function(id, event) {
25
recordID(id);
26
event.stopPropagation();
27
};
28
-var recordIDAndReturnFalse = function(id, event) {
28
+const recordIDAndReturnFalse = function(id, event) {
29
recordID(id);
30
return false;
31
};
32
-var LISTENER = jest.fn();
33
-var ON_CLICK_KEY = 'onClick';
34
-var ON_CHANGE_KEY = 'onChange';
35
-var ON_MOUSE_ENTER_KEY = 'onMouseEnter';
32
+const LISTENER = jest.fn();
33
+const ON_CLICK_KEY = 'onClick';
34
+const ON_CHANGE_KEY = 'onChange';
35
+const ON_MOUSE_ENTER_KEY = 'onMouseEnter';
36
37
-var GRANDPARENT;
38
-var PARENT;
39
-var CHILD;
37
+let GRANDPARENT;
38
+let PARENT;
39
+let CHILD;
40
41
-var getListener;
42
-var putListener;
43
-var deleteAllListeners;
41
+let getListener;
42
+let putListener;
43
+let deleteAllListeners;
44
45
function registerSimpleTestHandler() {
46
putListener(CHILD, ON_CLICK_KEY, LISTENER);
47
- var listener = getListener(CHILD, ON_CLICK_KEY);
47
+ const listener = getListener(CHILD, ON_CLICK_KEY);
48
expect(listener).toEqual(LISTENER);
49
return getListener(CHILD, ON_CLICK_KEY);
50
}
@@ -63,11 +63,11 @@ describe('ReactBrowserEventEmitter', () => {
63
ReactBrowserEventEmitter = require('../events/ReactBrowserEventEmitter');
64
ReactTestUtils = require('react-dom/test-utils');
65
66
- var container = document.createElement('div');
66
+ const container = document.createElement('div');
67
68
- var GRANDPARENT_PROPS = {};
69
- var PARENT_PROPS = {};
70
- var CHILD_PROPS = {};
68
+ let GRANDPARENT_PROPS = {};
69
+ let PARENT_PROPS = {};
70
+ let CHILD_PROPS = {};
71
72
function Child(props) {
73
return <div ref={c => (CHILD = c)} {...props} />;
@@ -93,7 +93,7 @@ describe('ReactBrowserEventEmitter', () => {
93
renderTree();
94
95
getListener = function(node, eventName) {
96
- var inst = ReactDOMComponentTree.getInstanceFromNode(node);
96
+ const inst = ReactDOMComponentTree.getInstanceFromNode(node);
97
return EventPluginHub.getListener(inst, eventName);
98
};
99
putListener = function(node, eventName, listener) {
@@ -131,20 +131,20 @@ describe('ReactBrowserEventEmitter', () => {
131
132
it('should store a listener correctly', () => {
133
registerSimpleTestHandler();
134
- var listener = getListener(CHILD, ON_CLICK_KEY);
134
+ const listener = getListener(CHILD, ON_CLICK_KEY);
135
expect(listener).toBe(LISTENER);
136
});
137
138
it('should retrieve a listener correctly', () => {
139
registerSimpleTestHandler();
140
- var listener = getListener(CHILD, ON_CLICK_KEY);
140
+ const listener = getListener(CHILD, ON_CLICK_KEY);
141
expect(listener).toEqual(LISTENER);
142
});
143
144
it('should clear all handlers when asked to', () => {
145
registerSimpleTestHandler();
146
deleteAllListeners(CHILD);
147
- var listener = getListener(CHILD, ON_CLICK_KEY);
147
+ const listener = getListener(CHILD, ON_CLICK_KEY);
148
expect(listener).toBe(undefined);
149
});
150
@@ -298,8 +298,8 @@ describe('ReactBrowserEventEmitter', () => {
298
*/
299
300
it('should invoke handlers that were removed while bubbling', () => {
301
- var handleParentClick = jest.fn();
302
- var handleChildClick = function(event) {
301
+ const handleParentClick = jest.fn();
302
+ const handleChildClick = function(event) {
303
deleteAllListeners(PARENT);
304
};
305
putListener(CHILD, ON_CLICK_KEY, handleChildClick);
@@ -309,8 +309,8 @@ describe('ReactBrowserEventEmitter', () => {
309
});
310
311
it('should not invoke newly inserted handlers while bubbling', () => {
312
- var handleParentClick = jest.fn();
313
- var handleChildClick = function(event) {
312
+ const handleParentClick = jest.fn();
313
+ const handleChildClick = function(event) {
314
putListener(PARENT, ON_CLICK_KEY, handleParentClick);
315
};
316
putListener(CHILD, ON_CLICK_KEY, handleChildClick);
@@ -347,17 +347,17 @@ describe('ReactBrowserEventEmitter', () => {
347
348
ReactBrowserEventEmitter.listenTo(ON_CHANGE_KEY, document);
349
350
- var setEventListeners = [];
351
- var listenCalls = EventTarget.prototype.addEventListener.calls.allArgs();
352
- for (var i = 0; i < listenCalls.length; i++) {
350
+ const setEventListeners = [];
351
+ const listenCalls = EventTarget.prototype.addEventListener.calls.allArgs();
352
+ for (let i = 0; i < listenCalls.length; i++) {
353
setEventListeners.push(listenCalls[i][1]);
354
}
355
356
- var module = EventPluginRegistry.registrationNameModules[ON_CHANGE_KEY];
357
- var dependencies = module.eventTypes.change.dependencies;
356
+ const module = EventPluginRegistry.registrationNameModules[ON_CHANGE_KEY];
357
+ const dependencies = module.eventTypes.change.dependencies;
358
expect(setEventListeners.length).toEqual(dependencies.length);
359
360
- for (i = 0; i < setEventListeners.length; i++) {
360
+ for (let i = 0; i < setEventListeners.length; i++) {
361
expect(dependencies.indexOf(setEventListeners[i])).toBeTruthy();
362
}
363
});
packages/react-dom/src/__tests__/ReactChildReconciler-test.js
+3
-3
@@ -12,8 +12,8 @@
12
13
'use strict';
14
15
-var React;
16
-var ReactTestUtils;
15
+let React;
16
+let ReactTestUtils;
17
18
describe('ReactChildReconciler', () => {
19
function normalizeCodeLocInfo(str) {
@@ -30,7 +30,7 @@ describe('ReactChildReconciler', () => {
30
function createIterable(array) {
31
return {
32
'@@iterator': function() {
33
- var i = 0;
33
+ let i = 0;
34
return {
35
next() {
36
const next = {
packages/react-dom/src/__tests__/ReactComponent-test.js
+42
-42
@@ -9,10 +9,10 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactDOMServer;
15
-var ReactTestUtils;
12
+let React;
13
+let ReactDOM;
14
+let ReactDOMServer;
15
+let ReactTestUtils;
16
17
describe('ReactComponent', () => {
18
function normalizeCodeLocInfo(str) {
@@ -27,7 +27,7 @@ describe('ReactComponent', () => {
27
});
28
29
it('should throw on invalid render targets', () => {
30
- var container = document.createElement('div');
30
+ const container = document.createElement('div');
31
// jQuery objects are basically arrays; people often pass them in by mistake
32
expect(function() {
33
ReactDOM.render(<div />, [container]);
@@ -39,7 +39,7 @@ describe('ReactComponent', () => {
39
});
40
41
it('should throw when supplying a ref outside of render method', () => {
42
- var instance = <div ref="badDiv" />;
42
+ let instance = <div ref="badDiv" />;
43
expect(function() {
44
instance = ReactTestUtils.renderIntoDocument(instance);
45
}).toThrow();
@@ -108,8 +108,8 @@ describe('ReactComponent', () => {
108
});
109
110
it('should support refs on owned components', () => {
111
- var innerObj = {};
112
- var outerObj = {};
111
+ const innerObj = {};
112
+ const outerObj = {};
113
114
class Wrapper extends React.Component {
115
getObject = () => {
@@ -123,8 +123,8 @@ describe('ReactComponent', () => {
123
124
class Component extends React.Component {
125
render() {
126
- var inner = <Wrapper object={innerObj} ref="inner" />;
127
- var outer = (
126
+ const inner = <Wrapper object={innerObj} ref="inner" />;
127
+ const outer = (
128
<Wrapper object={outerObj} ref="outer">
129
{inner}
130
</Wrapper>
@@ -166,8 +166,8 @@ describe('ReactComponent', () => {
166
});
167
168
it('should support new-style refs', () => {
169
- var innerObj = {};
170
- var outerObj = {};
169
+ const innerObj = {};
170
+ const outerObj = {};
171
172
class Wrapper extends React.Component {
173
getObject = () => {
@@ -179,14 +179,14 @@ describe('ReactComponent', () => {
179
}
180
}
181
182
- var mounted = false;
182
+ let mounted = false;
183
184
class Component extends React.Component {
185
render() {
186
- var inner = (
186
+ const inner = (
187
<Wrapper object={innerObj} ref={c => (this.innerRef = c)} />
188
);
189
- var outer = (
189
+ const outer = (
190
<Wrapper object={outerObj} ref={c => (this.outerRef = c)}>
191
{inner}
192
</Wrapper>
@@ -216,7 +216,7 @@ describe('ReactComponent', () => {
216
}
217
}
218
219
- var mounted = false;
219
+ let mounted = false;
220
221
class Component extends React.Component {
222
getInner = () => {
@@ -248,7 +248,7 @@ describe('ReactComponent', () => {
248
});
249
250
it('should call refs at the correct time', () => {
251
- var log = [];
251
+ const log = [];
252
253
class Inner extends React.Component {
254
render() {
@@ -303,7 +303,7 @@ describe('ReactComponent', () => {
303
}
304
305
// mount, update, unmount
306
- var el = document.createElement('div');
306
+ const el = document.createElement('div');
307
log.push('start mount');
308
ReactDOM.render(<Outer />, el);
309
log.push('start update');
@@ -344,8 +344,8 @@ describe('ReactComponent', () => {
344
});
345
346
it('fires the callback after a component is rendered', () => {
347
- var callback = jest.fn();
348
- var container = document.createElement('div');
347
+ const callback = jest.fn();
348
+ const container = document.createElement('div');
349
ReactDOM.render(<div />, container, callback);
350
expect(callback.mock.calls.length).toBe(1);
351
ReactDOM.render(<div className="foo" />, container, callback);
@@ -357,7 +357,7 @@ describe('ReactComponent', () => {
357
it('throws usefully when rendering badly-typed elements', () => {
358
spyOnDev(console, 'error');
359
360
- var X = undefined;
360
+ const X = undefined;
361
expect(() => ReactTestUtils.renderIntoDocument(<X />)).toThrowError(
362
'Element type is invalid: expected a string (for built-in components) ' +
363
'or a class/function (for composite components) but got: undefined.' +
@@ -367,7 +367,7 @@ describe('ReactComponent', () => {
367
: ''),
368
);
369
370
- var Y = null;
370
+ const Y = null;
371
expect(() => ReactTestUtils.renderIntoDocument(<Y />)).toThrowError(
372
'Element type is invalid: expected a string (for built-in components) ' +
373
'or a class/function (for composite components) but got: null.',
@@ -382,7 +382,7 @@ describe('ReactComponent', () => {
382
it('includes owner name in the error about badly-typed elements', () => {
383
spyOnDev(console, 'error');
384
385
- var X = undefined;
385
+ const X = undefined;
386
387
function Indirection(props) {
388
return <div>{props.children}</div>;
@@ -417,14 +417,14 @@ describe('ReactComponent', () => {
417
});
418
419
it('throws if a plain object is used as a child', () => {
420
- var children = {
420
+ const children = {
421
x: <span />,
422
y: <span />,
423
z: <span />,
424
};
425
- var element = <div>{[children]}</div>;
426
- var container = document.createElement('div');
427
- var ex;
425
+ const element = <div>{[children]}</div>;
426
+ const container = document.createElement('div');
427
+ let ex;
428
try {
429
ReactDOM.render(element, container);
430
} catch (e) {
@@ -444,7 +444,7 @@ describe('ReactComponent', () => {
444
it('throws if a plain object even if it is in an owner', () => {
445
class Foo extends React.Component {
446
render() {
447
- var children = {
447
+ const children = {
448
a: <span />,
449
b: <span />,
450
c: <span />,
@@ -452,8 +452,8 @@ describe('ReactComponent', () => {
452
return <div>{[children]}</div>;
453
}
454
}
455
- var container = document.createElement('div');
456
- var ex;
455
+ const container = document.createElement('div');
456
+ let ex;
457
try {
458
ReactDOM.render(<Foo />, container);
459
} catch (e) {
@@ -472,13 +472,13 @@ describe('ReactComponent', () => {
472
});
473
474
it('throws if a plain object is used as a child when using SSR', async () => {
475
- var children = {
475
+ const children = {
476
x: <span />,
477
y: <span />,
478
z: <span />,
479
};
480
- var element = <div>{[children]}</div>;
481
- var ex;
480
+ const element = <div>{[children]}</div>;
481
+ let ex;
482
try {
483
ReactDOMServer.renderToString(element);
484
} catch (e) {
@@ -498,7 +498,7 @@ describe('ReactComponent', () => {
498
it('throws if a plain object even if it is in an owner when using SSR', async () => {
499
class Foo extends React.Component {
500
render() {
501
- var children = {
501
+ const children = {
502
a: <span />,
503
b: <span />,
504
c: <span />,
@@ -506,8 +506,8 @@ describe('ReactComponent', () => {
506
return <div>{[children]}</div>;
507
}
508
}
509
- var container = document.createElement('div');
510
- var ex;
509
+ const container = document.createElement('div');
510
+ let ex;
511
try {
512
ReactDOMServer.renderToString(<Foo />, container);
513
} catch (e) {
@@ -531,7 +531,7 @@ describe('ReactComponent', () => {
531
return Foo;
532
}
533
spyOnDev(console, 'error');
534
- var container = document.createElement('div');
534
+ const container = document.createElement('div');
535
ReactDOM.render(<Foo />, container);
536
if (__DEV__) {
537
expect(console.error.calls.count()).toBe(1);
@@ -551,7 +551,7 @@ describe('ReactComponent', () => {
551
}
552
}
553
spyOnDev(console, 'error');
554
- var container = document.createElement('div');
554
+ const container = document.createElement('div');
555
ReactDOM.render(<Foo />, container);
556
if (__DEV__) {
557
expect(console.error.calls.count()).toBe(1);
@@ -573,7 +573,7 @@ describe('ReactComponent', () => {
573
);
574
}
575
spyOnDev(console, 'error');
576
- var container = document.createElement('div');
576
+ const container = document.createElement('div');
577
ReactDOM.render(<Foo />, container);
578
if (__DEV__) {
579
expect(console.error.calls.count()).toBe(1);
@@ -595,7 +595,7 @@ describe('ReactComponent', () => {
595
function Foo() {
596
return <Bar>{() => 'Hello'}</Bar>;
597
}
598
- var container = document.createElement('div');
598
+ const container = document.createElement('div');
599
ReactDOM.render(<Foo />, container);
600
expect(container.innerHTML).toBe('Hello');
601
});
@@ -620,8 +620,8 @@ describe('ReactComponent', () => {
620
);
621
}
622
}
623
- var container = document.createElement('div');
624
- var component = ReactDOM.render(<Foo />, container);
623
+ const container = document.createElement('div');
624
+ const component = ReactDOM.render(<Foo />, container);
625
component.setState({type: 'portobello mushrooms'});
626
if (__DEV__) {
627
expect(console.error.calls.count()).toBe(2);
packages/react-dom/src/__tests__/ReactComponentLifeCycle-test.js
+33
-33
@@ -9,51 +9,51 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactTestUtils;
15
-var PropTypes;
12
+let React;
13
+let ReactDOM;
14
+let ReactTestUtils;
15
+let PropTypes;
16
17
-var clone = function(o) {
17
+const clone = function(o) {
18
return JSON.parse(JSON.stringify(o));
19
};
20
21
-var GET_INIT_STATE_RETURN_VAL = {
21
+const GET_INIT_STATE_RETURN_VAL = {
22
hasWillMountCompleted: false,
23
hasRenderCompleted: false,
24
hasDidMountCompleted: false,
25
hasWillUnmountCompleted: false,
26
};
27
28
-var INIT_RENDER_STATE = {
28
+const INIT_RENDER_STATE = {
29
hasWillMountCompleted: true,
30
hasRenderCompleted: false,
31
hasDidMountCompleted: false,
32
hasWillUnmountCompleted: false,
33
};
34
35
-var DID_MOUNT_STATE = {
35
+const DID_MOUNT_STATE = {
36
hasWillMountCompleted: true,
37
hasRenderCompleted: true,
38
hasDidMountCompleted: false,
39
hasWillUnmountCompleted: false,
40
};
41
42
-var NEXT_RENDER_STATE = {
42
+const NEXT_RENDER_STATE = {
43
hasWillMountCompleted: true,
44
hasRenderCompleted: true,
45
hasDidMountCompleted: true,
46
hasWillUnmountCompleted: false,
47
};
48
49
-var WILL_UNMOUNT_STATE = {
49
+const WILL_UNMOUNT_STATE = {
50
hasWillMountCompleted: true,
51
hasDidMountCompleted: true,
52
hasRenderCompleted: true,
53
hasWillUnmountCompleted: false,
54
};
55
56
-var POST_WILL_UNMOUNT_STATE = {
56
+const POST_WILL_UNMOUNT_STATE = {
57
hasWillMountCompleted: true,
58
hasDidMountCompleted: true,
59
hasRenderCompleted: true,
@@ -94,7 +94,7 @@ describe('ReactComponentLifeCycle', () => {
94
});
95
96
it('should not reuse an instance when it has been unmounted', () => {
97
- var container = document.createElement('div');
97
+ const container = document.createElement('div');
98
99
class StatefulComponent extends React.Component {
100
state = {};
@@ -104,10 +104,10 @@ describe('ReactComponentLifeCycle', () => {
104
}
105
}
106
107
- var element = <StatefulComponent />;
108
- var firstInstance = ReactDOM.render(element, container);
107
+ const element = <StatefulComponent />;
108
+ const firstInstance = ReactDOM.render(element, container);
109
ReactDOM.unmountComponentAtNode(container);
110
- var secondInstance = ReactDOM.render(element, container);
110
+ const secondInstance = ReactDOM.render(element, container);
111
expect(firstInstance).not.toBe(secondInstance);
112
});
113
@@ -116,7 +116,7 @@ describe('ReactComponentLifeCycle', () => {
116
* that second onDOMReady should not fail.
117
*/
118
it('it should fire onDOMReady when already in onDOMReady', () => {
119
- var _testJournal = [];
119
+ const _testJournal = [];
120
121
class Child extends React.Component {
122
componentDidMount() {
@@ -174,7 +174,7 @@ describe('ReactComponentLifeCycle', () => {
174
}
175
}
176
177
- var instance = <StatefulComponent />;
177
+ let instance = <StatefulComponent />;
178
expect(function() {
179
instance = ReactTestUtils.renderIntoDocument(instance);
180
}).toThrow();
@@ -191,7 +191,7 @@ describe('ReactComponentLifeCycle', () => {
191
}
192
}
193
194
- var instance = <StatefulComponent />;
194
+ let instance = <StatefulComponent />;
195
expect(function() {
196
instance = ReactTestUtils.renderIntoDocument(instance);
197
}).not.toThrow();
@@ -251,9 +251,9 @@ describe('ReactComponentLifeCycle', () => {
251
}
252
}
253
254
- var element = <Component />;
254
+ const element = <Component />;
255
256
- var instance = ReactTestUtils.renderIntoDocument(element);
256
+ const instance = ReactTestUtils.renderIntoDocument(element);
257
expect(instance._isMounted()).toBeTruthy();
258
259
if (__DEV__) {
@@ -284,9 +284,9 @@ describe('ReactComponentLifeCycle', () => {
284
}
285
}
286
287
- var element = <Component />;
287
+ const element = <Component />;
288
289
- var instance = ReactTestUtils.renderIntoDocument(element);
289
+ const instance = ReactTestUtils.renderIntoDocument(element);
290
expect(instance._isMounted()).toBeTruthy();
291
292
if (__DEV__) {
@@ -304,8 +304,8 @@ describe('ReactComponentLifeCycle', () => {
304
}
305
}
306
307
- var container = document.createElement('div');
308
- var instance = ReactDOM.render(<Component />, container);
307
+ const container = document.createElement('div');
308
+ const instance = ReactDOM.render(<Component />, container);
309
310
// No longer a public API, but we can test that it works internally by
311
// reaching into the updater.
@@ -347,7 +347,7 @@ describe('ReactComponentLifeCycle', () => {
347
constructor(props, context) {
348
super(props, context);
349
this._testJournal = {};
350
- var initState = {
350
+ const initState = {
351
hasWillMountCompleted: false,
352
hasDidMountCompleted: false,
353
hasRenderCompleted: false,
@@ -373,7 +373,7 @@ describe('ReactComponentLifeCycle', () => {
373
}
374
375
render() {
376
- var isInitialRender = !this.state.hasRenderCompleted;
376
+ const isInitialRender = !this.state.hasRenderCompleted;
377
if (isInitialRender) {
378
this._testJournal.stateInInitialRender = clone(this.state);
379
this._testJournal.lifeCycleInInitialRender = getLifeCycleState(this);
@@ -398,8 +398,8 @@ describe('ReactComponentLifeCycle', () => {
398
// A component that is merely "constructed" (as in "constructor") but not
399
// yet initialized, or rendered.
400
//
401
- var container = document.createElement('div');
402
- var instance = ReactDOM.render(<LifeCycleComponent />, container);
401
+ const container = document.createElement('div');
402
+ const instance = ReactDOM.render(<LifeCycleComponent />, container);
403
404
// getInitialState
405
expect(instance._testJournal.returnedFromGetInitialState).toEqual(
@@ -490,7 +490,7 @@ describe('ReactComponentLifeCycle', () => {
490
}
491
}
492
493
- var container = document.createElement('div');
493
+ const container = document.createElement('div');
494
ReactDOM.render(<Component text="uno" tooltipText="one" />, container);
495
496
// Since `instance` is a root component, we can set its props. This also
@@ -516,7 +516,7 @@ describe('ReactComponentLifeCycle', () => {
516
}
517
}
518
519
- var instance = (
519
+ let instance = (
520
<SetStateInComponentDidMount
521
valueToUseInitially="hello"
522
valueToUseInOnDOMReady="goodbye"
@@ -527,8 +527,8 @@ describe('ReactComponentLifeCycle', () => {
527
});
528
529
it('should call nested lifecycle methods in the right order', () => {
530
- var log;
531
- var logger = function(msg) {
530
+ let log;
531
+ const logger = function(msg) {
532
return function() {
533
// return true for shouldComponentUpdate
534
log.push(msg);
@@ -565,7 +565,7 @@ describe('ReactComponentLifeCycle', () => {
565
}
566
}
567
568
- var container = document.createElement('div');
568
+ const container = document.createElement('div');
569
log = [];
570
ReactDOM.render(<Outer x={17} />, container);
571
expect(log).toEqual([
packages/react-dom/src/__tests__/ReactCompositeComponent-test.js
+101
-101
@@ -9,16 +9,16 @@
9
10
'use strict';
11
12
-var ChildUpdates;
13
-var MorphingComponent;
14
-var React;
15
-var ReactDOM;
16
-var ReactDOMServer;
17
-var ReactCurrentOwner;
18
-var ReactTestUtils;
19
-var PropTypes;
20
-var shallowEqual;
21
-var shallowCompare;
12
+let ChildUpdates;
13
+let MorphingComponent;
14
+let React;
15
+let ReactDOM;
16
+let ReactDOMServer;
17
+let ReactCurrentOwner;
18
+let ReactTestUtils;
19
+let PropTypes;
20
+let shallowEqual;
21
+let shallowCompare;
22
23
describe('ReactCompositeComponent', () => {
24
beforeEach(() => {
@@ -47,7 +47,7 @@ describe('ReactCompositeComponent', () => {
47
};
48
49
render() {
50
- var toggleActivatedState = this._toggleActivatedState;
50
+ const toggleActivatedState = this._toggleActivatedState;
51
return !this.state.activated ? (
52
<a ref="x" onClick={toggleActivatedState} />
53
) : (
@@ -66,7 +66,7 @@ describe('ReactCompositeComponent', () => {
66
};
67
68
render() {
69
- var className = this.props.anchorClassOn ? 'anchorClass' : '';
69
+ const className = this.props.anchorClassOn ? 'anchorClass' : '';
70
return this.props.renderAnchor ? (
71
<a ref="anch" className={className} />
72
) : (
@@ -85,15 +85,15 @@ describe('ReactCompositeComponent', () => {
85
};
86
}
87
88
- var el = document.createElement('div');
88
+ const el = document.createElement('div');
89
ReactDOM.render(<Child test="test" />, el);
90
91
expect(el.textContent).toBe('test');
92
});
93
94
it('should support rendering to different child types over time', () => {
95
- var instance = ReactTestUtils.renderIntoDocument(<MorphingComponent />);
96
- var el = ReactDOM.findDOMNode(instance);
95
+ const instance = ReactTestUtils.renderIntoDocument(<MorphingComponent />);
96
+ let el = ReactDOM.findDOMNode(instance);
97
expect(el.tagName).toBe('A');
98
99
instance._toggleActivatedState();
@@ -123,10 +123,10 @@ describe('ReactCompositeComponent', () => {
123
}
124
125
spyOnDev(console, 'warn');
126
- var markup = ReactDOMServer.renderToString(<Parent />);
126
+ const markup = ReactDOMServer.renderToString(<Parent />);
127
128
// Old API based on heuristic
129
- var container = document.createElement('div');
129
+ let container = document.createElement('div');
130
container.innerHTML = markup;
131
ReactDOM.render(<Parent />, container);
132
if (__DEV__) {
@@ -148,8 +148,8 @@ describe('ReactCompositeComponent', () => {
148
});
149
150
it('should react to state changes from callbacks', () => {
151
- var instance = ReactTestUtils.renderIntoDocument(<MorphingComponent />);
152
- var el = ReactDOM.findDOMNode(instance);
151
+ const instance = ReactTestUtils.renderIntoDocument(<MorphingComponent />);
152
+ let el = ReactDOM.findDOMNode(instance);
153
expect(el.tagName).toBe('A');
154
155
ReactTestUtils.Simulate.click(el);
@@ -158,7 +158,7 @@ describe('ReactCompositeComponent', () => {
158
});
159
160
it('should rewire refs when rendering to different child types', () => {
161
- var instance = ReactTestUtils.renderIntoDocument(<MorphingComponent />);
161
+ const instance = ReactTestUtils.renderIntoDocument(<MorphingComponent />);
162
163
expect(ReactDOM.findDOMNode(instance.refs.x).tagName).toBe('A');
164
instance._toggleActivatedState();
@@ -168,8 +168,8 @@ describe('ReactCompositeComponent', () => {
168
});
169
170
it('should not cache old DOM nodes when switching constructors', () => {
171
- var container = document.createElement('div');
172
- var instance = ReactDOM.render(
171
+ const container = document.createElement('div');
172
+ const instance = ReactDOM.render(
173
<ChildUpdates renderAnchor={true} anchorClassOn={false} />,
174
container,
175
);
@@ -200,15 +200,15 @@ describe('ReactCompositeComponent', () => {
200
}
201
}
202
203
- var instance1 = ReactTestUtils.renderIntoDocument(<Component />);
203
+ const instance1 = ReactTestUtils.renderIntoDocument(<Component />);
204
expect(instance1.props).toEqual({prop: 'testKey'});
205
206
- var instance2 = ReactTestUtils.renderIntoDocument(
206
+ const instance2 = ReactTestUtils.renderIntoDocument(
207
<Component prop={undefined} />,
208
);
209
expect(instance2.props).toEqual({prop: 'testKey'});
210
211
- var instance3 = ReactTestUtils.renderIntoDocument(
211
+ const instance3 = ReactTestUtils.renderIntoDocument(
212
<Component prop={null} />,
213
);
214
expect(instance3.props).toEqual({prop: null});
@@ -223,8 +223,8 @@ describe('ReactCompositeComponent', () => {
223
}
224
}
225
226
- var inputProps = {};
227
- var instance1 = <Component {...inputProps} />;
226
+ const inputProps = {};
227
+ let instance1 = <Component {...inputProps} />;
228
instance1 = ReactTestUtils.renderIntoDocument(instance1);
229
expect(instance1.props.prop).toBe('testKey');
230
@@ -236,7 +236,7 @@ describe('ReactCompositeComponent', () => {
236
it('should warn about `forceUpdate` on unmounted components', () => {
237
spyOnDev(console, 'error');
238
239
- var container = document.createElement('div');
239
+ const container = document.createElement('div');
240
document.body.appendChild(container);
241
242
class Component extends React.Component {
@@ -245,7 +245,7 @@ describe('ReactCompositeComponent', () => {
245
}
246
}
247
248
- var instance = <Component />;
248
+ let instance = <Component />;
249
expect(instance.forceUpdate).not.toBeDefined();
250
251
instance = ReactDOM.render(instance, container);
@@ -277,10 +277,10 @@ describe('ReactCompositeComponent', () => {
277
it('should warn about `setState` on unmounted components', () => {
278
spyOnDev(console, 'error');
279
280
- var container = document.createElement('div');
280
+ const container = document.createElement('div');
281
document.body.appendChild(container);
282
283
- var renders = 0;
283
+ let renders = 0;
284
285
class Component extends React.Component {
286
state = {value: 0};
@@ -291,7 +291,7 @@ describe('ReactCompositeComponent', () => {
291
}
292
}
293
294
- var instance = <Component />;
294
+ let instance = <Component />;
295
expect(instance.setState).not.toBeDefined();
296
297
instance = ReactDOM.render(instance, container);
@@ -323,8 +323,8 @@ describe('ReactCompositeComponent', () => {
323
});
324
325
it('should silently allow `setState`, not call cb on unmounting components', () => {
326
- var cbCalled = false;
327
- var container = document.createElement('div');
326
+ let cbCalled = false;
327
+ const container = document.createElement('div');
328
document.body.appendChild(container);
329
330
class Component extends React.Component {
@@ -343,7 +343,7 @@ describe('ReactCompositeComponent', () => {
343
}
344
}
345
346
- var instance = ReactDOM.render(<Component />, container);
346
+ const instance = ReactDOM.render(<Component />, container);
347
instance.setState({value: 1});
348
349
ReactDOM.unmountComponentAtNode(container);
@@ -352,7 +352,7 @@ describe('ReactCompositeComponent', () => {
352
353
it('should warn when rendering a class with a render method that does not extend React.Component', () => {
354
spyOnDev(console, 'error');
355
- var container = document.createElement('div');
355
+ const container = document.createElement('div');
356
class ClassWithRenderNotExtended {
357
render() {
358
return <div />;
@@ -377,10 +377,10 @@ describe('ReactCompositeComponent', () => {
377
it('should warn about `setState` in render', () => {
378
spyOnDev(console, 'error');
379
380
- var container = document.createElement('div');
380
+ const container = document.createElement('div');
381
382
- var renderedState = -1;
383
- var renderPasses = 0;
382
+ let renderedState = -1;
383
+ let renderPasses = 0;
384
385
class Component extends React.Component {
386
state = {value: 0};
@@ -399,7 +399,7 @@ describe('ReactCompositeComponent', () => {
399
expect(console.error.calls.count()).toBe(0);
400
}
401
402
- var instance = ReactDOM.render(<Component />, container);
402
+ const instance = ReactDOM.render(<Component />, container);
403
404
if (__DEV__) {
405
expect(console.error.calls.count()).toBe(1);
@@ -419,7 +419,7 @@ describe('ReactCompositeComponent', () => {
419
expect(instance.state.value).toBe(1);
420
421
// Forcing a rerender anywhere will cause the update to happen.
422
- var instance2 = ReactDOM.render(<Component prop={123} />, container);
422
+ const instance2 = ReactDOM.render(<Component prop={123} />, container);
423
expect(instance).toBe(instance2);
424
expect(renderedState).toBe(1);
425
expect(instance2.state.value).toBe(1);
@@ -435,9 +435,9 @@ describe('ReactCompositeComponent', () => {
435
it('should warn about `setState` in getChildContext', () => {
436
spyOnDev(console, 'error');
437
438
- var container = document.createElement('div');
438
+ const container = document.createElement('div');
439
440
- var renderPasses = 0;
440
+ let renderPasses = 0;
441
442
class Component extends React.Component {
443
state = {value: 0};
@@ -458,7 +458,7 @@ describe('ReactCompositeComponent', () => {
458
if (__DEV__) {
459
expect(console.error.calls.count()).toBe(0);
460
}
461
- var instance = ReactDOM.render(<Component />, container);
461
+ const instance = ReactDOM.render(<Component />, container);
462
expect(renderPasses).toBe(2);
463
expect(instance.state.value).toBe(1);
464
if (__DEV__) {
@@ -483,7 +483,7 @@ describe('ReactCompositeComponent', () => {
483
}
484
}
485
486
- var instance = <BadComponent />;
486
+ let instance = <BadComponent />;
487
488
expect(ReactCurrentOwner.current).toBe(null);
489
@@ -495,8 +495,8 @@ describe('ReactCompositeComponent', () => {
495
});
496
497
it('should call componentWillUnmount before unmounting', () => {
498
- var container = document.createElement('div');
499
- var innerUnmounted = false;
498
+ const container = document.createElement('div');
499
+ let innerUnmounted = false;
500
501
class Component extends React.Component {
502
render() {
@@ -539,7 +539,7 @@ describe('ReactCompositeComponent', () => {
539
}
540
}
541
542
- var instance = ReactTestUtils.renderIntoDocument(<Component />);
542
+ const instance = ReactTestUtils.renderIntoDocument(<Component />);
543
instance.setState({bogus: true});
544
545
if (__DEV__) {
@@ -661,7 +661,7 @@ describe('ReactCompositeComponent', () => {
661
}
662
}
663
664
- var component = ReactTestUtils.renderIntoDocument(<Parent />);
664
+ const component = ReactTestUtils.renderIntoDocument(<Parent />);
665
expect(ReactDOM.findDOMNode(component).innerHTML).toBe('bar');
666
});
667
@@ -672,7 +672,7 @@ describe('ReactCompositeComponent', () => {
672
}
673
}
674
675
- var childRenders = 0;
675
+ let childRenders = 0;
676
677
class Child extends React.Component {
678
render() {
@@ -681,8 +681,8 @@ describe('ReactCompositeComponent', () => {
681
}
682
}
683
684
- var container = document.createElement('div');
685
- var child = <Child />;
684
+ const container = document.createElement('div');
685
+ const child = <Child />;
686
687
ReactDOM.render(<Parent>{child}</Parent>, container);
688
ReactDOM.render(<Parent>{child}</Parent>, container);
@@ -690,8 +690,8 @@ describe('ReactCompositeComponent', () => {
690
});
691
692
it('should pass context when re-rendered for static child', () => {
693
- var parentInstance = null;
694
- var childInstance = null;
693
+ let parentInstance = null;
694
+ let childInstance = null;
695
696
class Parent extends React.Component {
697
static childContextTypes = {
@@ -790,7 +790,7 @@ describe('ReactCompositeComponent', () => {
790
}
791
}
792
793
- var wrapper = ReactTestUtils.renderIntoDocument(<Wrapper />);
793
+ const wrapper = ReactTestUtils.renderIntoDocument(<Wrapper />);
794
795
expect(wrapper.refs.parent.state.flag).toEqual(true);
796
expect(wrapper.refs.child.context).toEqual({flag: true});
@@ -803,8 +803,8 @@ describe('ReactCompositeComponent', () => {
803
});
804
805
it('should pass context transitively', () => {
806
- var childInstance = null;
807
- var grandchildInstance = null;
806
+ let childInstance = null;
807
+ let grandchildInstance = null;
808
809
class Parent extends React.Component {
810
static childContextTypes = {
@@ -864,8 +864,8 @@ describe('ReactCompositeComponent', () => {
864
});
865
866
it('should pass context when re-rendered', () => {
867
- var parentInstance = null;
868
- var childInstance = null;
867
+ let parentInstance = null;
868
+ let childInstance = null;
869
870
class Parent extends React.Component {
871
static childContextTypes = {
@@ -885,7 +885,7 @@ describe('ReactCompositeComponent', () => {
885
}
886
887
render() {
888
- var output = <Child />;
888
+ let output = <Child />;
889
if (!this.state.flag) {
890
output = <span>Child</span>;
891
}
@@ -968,7 +968,7 @@ describe('ReactCompositeComponent', () => {
968
}
969
}
970
971
- var div = document.createElement('div');
971
+ const div = document.createElement('div');
972
ReactDOM.render(<Parent cntxt="noise" />, div);
973
expect(div.children[0].innerHTML).toBe('noise');
974
div.children[0].innerHTML = 'aliens';
@@ -981,8 +981,8 @@ describe('ReactCompositeComponent', () => {
981
});
982
983
it('should trigger componentWillReceiveProps for context changes', () => {
984
- var contextChanges = 0;
985
- var propChanges = 0;
984
+ let contextChanges = 0;
985
+ let propChanges = 0;
986
987
class GrandChild extends React.Component {
988
static contextTypes = {
@@ -1066,9 +1066,9 @@ describe('ReactCompositeComponent', () => {
1066
}
1067
}
1068
1069
- var div = document.createElement('div');
1069
+ const div = document.createElement('div');
1070
1071
- var parentInstance = null;
1071
+ let parentInstance = null;
1072
ReactDOM.render(
1073
<Parent ref={inst => (parentInstance = inst)}>
1074
<ChildWithoutContext>
@@ -1121,7 +1121,7 @@ describe('ReactCompositeComponent', () => {
1121
});
1122
1123
it('only renders once if updated in componentWillReceiveProps', () => {
1124
- var renders = 0;
1124
+ let renders = 0;
1125
1126
class Component extends React.Component {
1127
state = {updated: false};
@@ -1139,8 +1139,8 @@ describe('ReactCompositeComponent', () => {
1139
}
1140
}
1141
1142
- var container = document.createElement('div');
1143
- var instance = ReactDOM.render(<Component update={0} />, container);
1142
+ const container = document.createElement('div');
1143
+ const instance = ReactDOM.render(<Component update={0} />, container);
1144
expect(renders).toBe(1);
1145
expect(instance.state.updated).toBe(false);
1146
ReactDOM.render(<Component update={1} />, container);
@@ -1149,7 +1149,7 @@ describe('ReactCompositeComponent', () => {
1149
});
1150
1151
it('only renders once if updated in componentWillReceiveProps when batching', () => {
1152
- var renders = 0;
1152
+ let renders = 0;
1153
1154
class Component extends React.Component {
1155
state = {updated: false};
@@ -1167,8 +1167,8 @@ describe('ReactCompositeComponent', () => {
1167
}
1168
}
1169
1170
- var container = document.createElement('div');
1171
- var instance = ReactDOM.render(<Component update={0} />, container);
1170
+ const container = document.createElement('div');
1171
+ const instance = ReactDOM.render(<Component update={0} />, container);
1172
expect(renders).toBe(1);
1173
expect(instance.state.updated).toBe(false);
1174
ReactDOM.unstable_batchedUpdates(() => {
@@ -1217,8 +1217,8 @@ describe('ReactCompositeComponent', () => {
1217
}
1218
}
1219
1220
- var container = document.createElement('div');
1221
- var comp = ReactDOM.render(<Component flipped={false} />, container);
1220
+ const container = document.createElement('div');
1221
+ const comp = ReactDOM.render(<Component flipped={false} />, container);
1222
expect(ReactDOM.findDOMNode(comp.refs.static0).textContent).toBe('A');
1223
expect(ReactDOM.findDOMNode(comp.refs.static1).textContent).toBe('B');
1224
@@ -1230,8 +1230,8 @@ describe('ReactCompositeComponent', () => {
1230
});
1231
1232
it('should allow access to findDOMNode in componentWillUnmount', () => {
1233
- var a = null;
1234
- var b = null;
1233
+ let a = null;
1234
+ let b = null;
1235
1236
class Component extends React.Component {
1237
componentDidMount() {
@@ -1249,7 +1249,7 @@ describe('ReactCompositeComponent', () => {
1249
}
1250
}
1251
1252
- var container = document.createElement('div');
1252
+ const container = document.createElement('div');
1253
expect(a).toBe(container.firstChild);
1254
ReactDOM.render(<Component />, container);
1255
ReactDOM.unmountComponentAtNode(container);
@@ -1283,7 +1283,7 @@ describe('ReactCompositeComponent', () => {
1283
}
1284
}
1285
1286
- var div = document.createElement('div');
1286
+ const div = document.createElement('div');
1287
ReactDOM.render(
1288
<Parent>
1289
<Component />
@@ -1300,7 +1300,7 @@ describe('ReactCompositeComponent', () => {
1300
}
1301
}
1302
1303
- var moo = ReactTestUtils.renderIntoDocument(<Moo />);
1303
+ const moo = ReactTestUtils.renderIntoDocument(<Moo />);
1304
// No longer a public API, but we can test that it works internally by
1305
// reaching into the updater.
1306
moo.updater.enqueueReplaceState(moo, {y: 2});
@@ -1309,7 +1309,7 @@ describe('ReactCompositeComponent', () => {
1309
});
1310
1311
it('should support objects with prototypes as state', () => {
1312
- var NotActuallyImmutable = function(str) {
1312
+ const NotActuallyImmutable = function(str) {
1313
this.str = str;
1314
};
1315
NotActuallyImmutable.prototype.amIImmutable = function() {
@@ -1325,11 +1325,11 @@ describe('ReactCompositeComponent', () => {
1325
}
1326
}
1327
1328
- var moo = ReactTestUtils.renderIntoDocument(<Moo />);
1328
+ const moo = ReactTestUtils.renderIntoDocument(<Moo />);
1329
expect(moo.state.str).toBe('first');
1330
expect(moo.state.amIImmutable()).toBe(true);
1331
1332
- var secondState = new NotActuallyImmutable('second');
1332
+ const secondState = new NotActuallyImmutable('second');
1333
moo._replaceState(secondState);
1334
expect(moo.state.str).toBe('second');
1335
expect(moo.state.amIImmutable()).toBe(true);
@@ -1341,7 +1341,7 @@ describe('ReactCompositeComponent', () => {
1341
expect(moo.state.amIImmutable).toBe(undefined);
1342
1343
// When more than one state update is enqueued, we have the same behavior
1344
- var fifthState = new NotActuallyImmutable('fifth');
1344
+ const fifthState = new NotActuallyImmutable('fifth');
1345
ReactDOM.unstable_batchedUpdates(function() {
1346
moo.setState({str: 'fourth'});
1347
moo._replaceState(fifthState);
@@ -1349,7 +1349,7 @@ describe('ReactCompositeComponent', () => {
1349
expect(moo.state).toBe(fifthState);
1350
1351
// When more than one state update is enqueued, we have the same behavior
1352
- var sixthState = new NotActuallyImmutable('sixth');
1352
+ const sixthState = new NotActuallyImmutable('sixth');
1353
ReactDOM.unstable_batchedUpdates(function() {
1354
moo._replaceState(sixthState);
1355
moo.setState({str: 'seventh'});
@@ -1359,8 +1359,8 @@ describe('ReactCompositeComponent', () => {
1359
});
1360
1361
it('should not warn about unmounting during unmounting', () => {
1362
- var container = document.createElement('div');
1363
- var layer = document.createElement('div');
1362
+ const container = document.createElement('div');
1363
+ const layer = document.createElement('div');
1364
1365
class Component extends React.Component {
1366
componentDidMount() {
@@ -1394,11 +1394,11 @@ describe('ReactCompositeComponent', () => {
1394
it('should warn when mutated props are passed', () => {
1395
spyOnDev(console, 'error');
1396
1397
- var container = document.createElement('div');
1397
+ const container = document.createElement('div');
1398
1399
class Foo extends React.Component {
1400
constructor(props) {
1401
- var _props = {idx: props.idx + '!'};
1401
+ const _props = {idx: props.idx + '!'};
1402
super(_props);
1403
}
1404
@@ -1423,8 +1423,8 @@ describe('ReactCompositeComponent', () => {
1423
});
1424
1425
it('should only call componentWillUnmount once', () => {
1426
- var app;
1427
- var count = 0;
1426
+ let app;
1427
+ let count = 0;
1428
1429
class App extends React.Component {
1430
render() {
@@ -1448,9 +1448,9 @@ describe('ReactCompositeComponent', () => {
1448
}
1449
}
1450
1451
- var container = document.createElement('div');
1451
+ const container = document.createElement('div');
1452
1453
- var setRef = ref => {
1453
+ const setRef = ref => {
1454
if (ref) {
1455
app = ref;
1456
}
@@ -1464,7 +1464,7 @@ describe('ReactCompositeComponent', () => {
1464
});
1465
1466
it('prepares new child before unmounting old', () => {
1467
- var log = [];
1467
+ const log = [];
1468
1469
class Spy extends React.Component {
1470
componentWillMount() {
@@ -1488,7 +1488,7 @@ describe('ReactCompositeComponent', () => {
1488
}
1489
}
1490
1491
- var container = document.createElement('div');
1491
+ const container = document.createElement('div');
1492
ReactDOM.render(<Wrapper name="A" />, container);
1493
ReactDOM.render(<Wrapper name="B" />, container);
1494
@@ -1505,7 +1505,7 @@ describe('ReactCompositeComponent', () => {
1505
});
1506
1507
it('respects a shallow shouldComponentUpdate implementation', () => {
1508
- var renderCalls = 0;
1508
+ let renderCalls = 0;
1509
class PlasticWrap extends React.Component {
1510
constructor(props, context) {
1511
super(props, context);
@@ -1548,8 +1548,8 @@ describe('ReactCompositeComponent', () => {
1548
}
1549
}
1550
1551
- var container = document.createElement('div');
1552
- var instance = ReactDOM.render(<PlasticWrap />, container);
1551
+ const container = document.createElement('div');
1552
+ const instance = ReactDOM.render(<PlasticWrap />, container);
1553
expect(renderCalls).toBe(1);
1554
1555
// Do not re-render based on props
@@ -1581,8 +1581,8 @@ describe('ReactCompositeComponent', () => {
1581
};
1582
}
1583
1584
- var renderCalls = 0;
1585
- var initialSettings = getInitialState();
1584
+ let renderCalls = 0;
1585
+ const initialSettings = getInitialState();
1586
1587
class Component extends React.Component {
1588
state = initialSettings;
@@ -1597,12 +1597,12 @@ describe('ReactCompositeComponent', () => {
1597
}
1598
}
1599
1600
- var container = document.createElement('div');
1601
- var instance = ReactDOM.render(<Component />, container);
1600
+ const container = document.createElement('div');
1601
+ const instance = ReactDOM.render(<Component />, container);
1602
expect(renderCalls).toBe(1);
1603
1604
// Do not re-render if state is equal
1605
- var settings = {
1605
+ const settings = {
1606
foo: initialSettings.foo,
1607
bar: initialSettings.bar,
1608
};
packages/react-dom/src/__tests__/ReactCompositeComponentDOMMinimalism-test.js
+11
-11
@@ -10,15 +10,15 @@
10
'use strict';
11
12
// Requires
13
-var React;
14
-var ReactDOM;
15
-var ReactTestUtils;
13
+let React;
14
+let ReactDOM;
15
+let ReactTestUtils;
16
17
// Test components
18
-var LowerLevelComposite;
19
-var MyCompositeComponent;
18
+let LowerLevelComposite;
19
+let MyCompositeComponent;
20
21
-var expectSingleChildlessDiv;
21
+let expectSingleChildlessDiv;
22
23
/**
24
* Integration test, testing the combination of JSX with our unit of
@@ -44,20 +44,20 @@ describe('ReactCompositeComponentDOMMinimalism', () => {
44
};
45
46
expectSingleChildlessDiv = function(instance) {
47
- var el = ReactDOM.findDOMNode(instance);
47
+ const el = ReactDOM.findDOMNode(instance);
48
expect(el.tagName).toBe('DIV');
49
expect(el.children.length).toBe(0);
50
};
51
});
52
53
it('should not render extra nodes for non-interpolated text', () => {
54
- var instance = <MyCompositeComponent>A string child</MyCompositeComponent>;
54
+ let instance = <MyCompositeComponent>A string child</MyCompositeComponent>;
55
instance = ReactTestUtils.renderIntoDocument(instance);
56
expectSingleChildlessDiv(instance);
57
});
58
59
it('should not render extra nodes for non-interpolated text', () => {
60
- var instance = (
60
+ let instance = (
61
<MyCompositeComponent>{'Interpolated String Child'}</MyCompositeComponent>
62
);
63
instance = ReactTestUtils.renderIntoDocument(instance);
@@ -65,13 +65,13 @@ describe('ReactCompositeComponentDOMMinimalism', () => {
65
});
66
67
it('should not render extra nodes for non-interpolated text', () => {
68
- var instance = (
68
+ let instance = (
69
<MyCompositeComponent>
70
<ul>This text causes no children in ul, just innerHTML</ul>
71
</MyCompositeComponent>
72
);
73
instance = ReactTestUtils.renderIntoDocument(instance);
74
- var el = ReactDOM.findDOMNode(instance);
74
+ const el = ReactDOM.findDOMNode(instance);
75
expect(el.tagName).toBe('DIV');
76
expect(el.children.length).toBe(1);
77
expect(el.children[0].tagName).toBe('UL');
packages/react-dom/src/__tests__/ReactCompositeComponentNestedState-test.js
+5
-5
@@ -9,9 +9,9 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactTestUtils;
12
+let React;
13
+let ReactDOM;
14
+let ReactTestUtils;
15
16
describe('ReactCompositeComponentNestedState-state', () => {
17
beforeEach(() => {
@@ -94,10 +94,10 @@ describe('ReactCompositeComponentNestedState-state', () => {
94
}
95
}
96
97
- var container = document.createElement('div');
97
+ const container = document.createElement('div');
98
document.body.appendChild(container);
99
100
- var logger = jest.fn();
100
+ const logger = jest.fn();
101
102
void ReactDOM.render(<ParentComponent logger={logger} />, container);
103
packages/react-dom/src/__tests__/ReactCompositeComponentState-test.js
+14
-14
@@ -9,10 +9,10 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
12
+let React;
13
+let ReactDOM;
14
15
-var TestComponent;
15
+let TestComponent;
16
17
describe('ReactCompositeComponent-state', () => {
18
beforeEach(() => {
@@ -123,11 +123,11 @@ describe('ReactCompositeComponent-state', () => {
123
});
124
125
it('should support setting state', () => {
126
- var container = document.createElement('div');
126
+ const container = document.createElement('div');
127
document.body.appendChild(container);
128
129
- var stateListener = jest.fn();
130
- var instance = ReactDOM.render(
129
+ const stateListener = jest.fn();
130
+ const instance = ReactDOM.render(
131
<TestComponent stateListener={stateListener} />,
132
container,
133
function peekAtInitialCallback() {
@@ -217,12 +217,12 @@ describe('ReactCompositeComponent-state', () => {
217
});
218
219
it('should call componentDidUpdate of children first', () => {
220
- var container = document.createElement('div');
220
+ const container = document.createElement('div');
221
222
- var ops = [];
222
+ let ops = [];
223
224
- var child = null;
225
- var parent = null;
224
+ let child = null;
225
+ let parent = null;
226
227
class Child extends React.Component {
228
state = {bar: false};
@@ -237,7 +237,7 @@ describe('ReactCompositeComponent-state', () => {
237
}
238
}
239
240
- var shouldUpdate = true;
240
+ let shouldUpdate = true;
241
242
class Intermediate extends React.Component {
243
shouldComponentUpdate() {
@@ -284,7 +284,7 @@ describe('ReactCompositeComponent-state', () => {
284
});
285
286
it('should batch unmounts', () => {
287
- var outer;
287
+ let outer;
288
289
class Inner extends React.Component {
290
render() {
@@ -306,7 +306,7 @@ describe('ReactCompositeComponent-state', () => {
306
}
307
}
308
309
- var container = document.createElement('div');
309
+ const container = document.createElement('div');
310
outer = ReactDOM.render(<Outer />, container);
311
expect(() => {
312
ReactDOM.unmountComponentAtNode(container);
@@ -338,7 +338,7 @@ describe('ReactCompositeComponent-state', () => {
338
return <div>{this.props.value}</div>;
339
}
340
}
341
- var container = document.createElement('div');
341
+ const container = document.createElement('div');
342
ReactDOM.render(<Parent />, container);
343
ReactDOM.render(<Parent />, container);
344
expect(log).toEqual([
packages/react-dom/src/__tests__/ReactDOM-test.js
+20
-20
@@ -9,9 +9,9 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var ReactDOM = require('react-dom');
14
-var ReactTestUtils = require('react-dom/test-utils');
12
+let React = require('react');
13
+let ReactDOM = require('react-dom');
14
+const ReactTestUtils = require('react-dom/test-utils');
15
16
describe('ReactDOM', () => {
17
// TODO: uncomment this test once we can run in phantom, which
@@ -44,24 +44,24 @@ describe('ReactDOM', () => {
44
*/
45
46
it('allows a DOM element to be used with a string', () => {
47
- var element = React.createElement('div', {className: 'foo'});
48
- var instance = ReactTestUtils.renderIntoDocument(element);
47
+ const element = React.createElement('div', {className: 'foo'});
48
+ const instance = ReactTestUtils.renderIntoDocument(element);
49
expect(ReactDOM.findDOMNode(instance).tagName).toBe('DIV');
50
});
51
52
it('should allow children to be passed as an argument', () => {
53
- var argDiv = ReactTestUtils.renderIntoDocument(
53
+ const argDiv = ReactTestUtils.renderIntoDocument(
54
React.createElement('div', null, 'child'),
55
);
56
- var argNode = ReactDOM.findDOMNode(argDiv);
56
+ const argNode = ReactDOM.findDOMNode(argDiv);
57
expect(argNode.innerHTML).toBe('child');
58
});
59
60
it('should overwrite props.children with children argument', () => {
61
- var conflictDiv = ReactTestUtils.renderIntoDocument(
61
+ const conflictDiv = ReactTestUtils.renderIntoDocument(
62
React.createElement('div', {children: 'fakechild'}, 'child'),
63
);
64
- var conflictNode = ReactDOM.findDOMNode(conflictDiv);
64
+ const conflictNode = ReactDOM.findDOMNode(conflictDiv);
65
expect(conflictNode.innerHTML).toBe('child');
66
});
67
@@ -70,7 +70,7 @@ describe('ReactDOM', () => {
70
* DOM, instead of a stale cache.
71
*/
72
it('should purge the DOM cache when removing nodes', () => {
73
- var myDiv = ReactTestUtils.renderIntoDocument(
73
+ let myDiv = ReactTestUtils.renderIntoDocument(
74
<div>
75
<div key="theDog" className="dog" />,
76
<div key="theBird" className="bird" />
@@ -103,8 +103,8 @@ describe('ReactDOM', () => {
103
<div key="theBird" className="bird" />,
104
</div>,
105
);
106
- var root = ReactDOM.findDOMNode(myDiv);
107
- var dog = root.childNodes[0];
106
+ const root = ReactDOM.findDOMNode(myDiv);
107
+ const dog = root.childNodes[0];
108
expect(dog.className).toBe('bigdog');
109
});
110
@@ -124,7 +124,7 @@ describe('ReactDOM', () => {
124
}
125
}
126
127
- var myDiv = document.createElement('div');
127
+ const myDiv = document.createElement('div');
128
expect(() => ReactDOM.render(<A />, myDiv, 'no')).toThrowError(
129
'Invalid argument passed as callback. Expected a function. Instead ' +
130
'received: no',
@@ -174,7 +174,7 @@ describe('ReactDOM', () => {
174
}
175
}
176
177
- var myDiv = document.createElement('div');
177
+ const myDiv = document.createElement('div');
178
ReactDOM.render(<A />, myDiv);
179
expect(() => ReactDOM.render(<A />, myDiv, 'no')).toThrowError(
180
'Invalid argument passed as callback. Expected a function. Instead ' +
@@ -235,8 +235,8 @@ describe('ReactDOM', () => {
235
}
236
}
237
238
- var log = [];
239
- var container = document.createElement('div');
238
+ const log = [];
239
+ const container = document.createElement('div');
240
document.body.appendChild(container);
241
ReactDOM.render(<A showTwo={false} />, container);
242
input.focus();
@@ -245,9 +245,9 @@ describe('ReactDOM', () => {
245
// something that could happen when manipulating DOM nodes (but is hard to
246
// deterministically force without relying intensely on React DOM
247
// implementation details)
248
- var div = container.firstChild;
248
+ const div = container.firstChild;
249
['appendChild', 'insertBefore'].forEach(name => {
250
- var mutator = div[name];
250
+ const mutator = div[name];
251
div[name] = function() {
252
if (input) {
253
input.blur();
@@ -305,7 +305,7 @@ describe('ReactDOM', () => {
305
const actual = [];
306
307
function click(node) {
308
- var fakeNativeEvent = function() {};
308
+ const fakeNativeEvent = function() {};
309
fakeNativeEvent.target = node;
310
fakeNativeEvent.path = [node, container];
311
ReactTestUtils.simulateNativeEventOnNode(
@@ -341,7 +341,7 @@ describe('ReactDOM', () => {
341
}
342
}
343
344
- var container = document.createElement('div');
344
+ const container = document.createElement('div');
345
ReactDOM.render(<Wrapper />, container);
346
347
const expected = [
packages/react-dom/src/__tests__/ReactDOMAttribute-test.js
+6
-6
@@ -10,8 +10,8 @@
10
'use strict';
11
12
describe('ReactDOM unknown attribute', () => {
13
- var React;
14
- var ReactDOM;
13
+ let React;
14
+ let ReactDOM;
15
16
beforeEach(() => {
17
jest.resetModules();
@@ -24,7 +24,7 @@ describe('ReactDOM unknown attribute', () => {
24
}
25
26
function testUnknownAttributeRemoval(givenValue) {
27
- var el = document.createElement('div');
27
+ const el = document.createElement('div');
28
ReactDOM.render(<div unknown="something" />, el);
29
expect(el.firstChild.getAttribute('unknown')).toBe('something');
30
ReactDOM.render(<div unknown={givenValue} />, el);
@@ -32,7 +32,7 @@ describe('ReactDOM unknown attribute', () => {
32
}
33
34
function testUnknownAttributeAssignment(givenValue, expectedDOMValue) {
35
- var el = document.createElement('div');
35
+ const el = document.createElement('div');
36
ReactDOM.render(<div unknown="something" />, el);
37
expect(el.firstChild.getAttribute('unknown')).toBe('something');
38
ReactDOM.render(<div unknown={givenValue} />, el);
@@ -63,7 +63,7 @@ describe('ReactDOM unknown attribute', () => {
63
});
64
65
it('removes unknown attributes that were rendered but are now missing', () => {
66
- var el = document.createElement('div');
66
+ const el = document.createElement('div');
67
ReactDOM.render(<div unknown="something" />, el);
68
expect(el.firstChild.getAttribute('unknown')).toBe('something');
69
ReactDOM.render(<div />, el);
@@ -140,7 +140,7 @@ describe('ReactDOM unknown attribute', () => {
140
it('allows camelCase unknown attributes and warns', () => {
141
spyOnDev(console, 'error');
142
143
- var el = document.createElement('div');
143
+ const el = document.createElement('div');
144
ReactDOM.render(<div helloWorld="something" />, el);
145
expect(el.firstChild.getAttribute('helloworld')).toBe('something');
146
packages/react-dom/src/__tests__/ReactDOMComponent-test.js
+169
-160
@@ -10,10 +10,10 @@
10
'use strict';
11
12
describe('ReactDOMComponent', () => {
13
- var React;
14
- var ReactTestUtils;
15
- var ReactDOM;
16
- var ReactDOMServer;
13
+ let React;
14
+ let ReactTestUtils;
15
+ let ReactDOM;
16
+ let ReactDOMServer;
17
18
function normalizeCodeLocInfo(str) {
19
return str && str.replace(/\(at .+?:\d+\)/g, '(at **)');
@@ -29,7 +29,7 @@ describe('ReactDOMComponent', () => {
29
30
describe('updateDOM', () => {
31
it('should handle className', () => {
32
- var container = document.createElement('div');
32
+ const container = document.createElement('div');
33
ReactDOM.render(<div style={{}} />, container);
34
35
ReactDOM.render(<div className={'foo'} />, container);
@@ -41,12 +41,17 @@ describe('ReactDOMComponent', () => {
41
});
42
43
it('should gracefully handle various style value types', () => {
44
- var container = document.createElement('div');
44
+ const container = document.createElement('div');
45
ReactDOM.render(<div style={{}} />, container);
46
- var stubStyle = container.firstChild.style;
46
+ const stubStyle = container.firstChild.style;
47
48
// set initial style
49
- var setup = {display: 'block', left: '1px', top: 2, fontFamily: 'Arial'};
49
+ const setup = {
50
+ display: 'block',
51
+ left: '1px',
52
+ top: 2,
53
+ fontFamily: 'Arial',
54
+ };
55
ReactDOM.render(<div style={setup} />, container);
56
expect(stubStyle.display).toEqual('block');
57
expect(stubStyle.left).toEqual('1px');
@@ -54,7 +59,7 @@ describe('ReactDOMComponent', () => {
59
expect(stubStyle.fontFamily).toEqual('Arial');
60
61
// reset the style to their default state
57
- var reset = {display: '', left: null, top: false, fontFamily: true};
62
+ const reset = {display: '', left: null, top: false, fontFamily: true};
63
ReactDOM.render(<div style={reset} />, container);
64
expect(stubStyle.display).toEqual('');
65
expect(stubStyle.left).toEqual('');
@@ -63,10 +68,14 @@ describe('ReactDOMComponent', () => {
68
});
69
70
it('should not update styles when mutating a proxy style object', () => {
66
- var styleStore = {display: 'none', fontFamily: 'Arial', lineHeight: 1.2};
71
+ const styleStore = {
72
+ display: 'none',
73
+ fontFamily: 'Arial',
74
+ lineHeight: 1.2,
75
+ };
76
// We use a proxy style object so that we can mutate it even if it is
77
// frozen in DEV.
69
- var styles = {
78
+ const styles = {
79
get display() {
80
return styleStore.display;
81
},
@@ -86,10 +95,10 @@ describe('ReactDOMComponent', () => {
95
styleStore.lineHeight = v;
96
},
97
};
89
- var container = document.createElement('div');
98
+ const container = document.createElement('div');
99
ReactDOM.render(<div style={styles} />, container);
100
92
- var stubStyle = container.firstChild.style;
101
+ const stubStyle = container.firstChild.style;
102
stubStyle.display = styles.display;
103
stubStyle.fontFamily = styles.fontFamily;
104
@@ -121,7 +130,7 @@ describe('ReactDOMComponent', () => {
130
});
131
132
it('should throw when mutating style objects', () => {
124
- var style = {border: '1px solid black'};
133
+ const style = {border: '1px solid black'};
134
135
class App extends React.Component {
136
state = {style: style};
@@ -139,7 +148,7 @@ describe('ReactDOMComponent', () => {
148
149
it('should warn for unknown prop', () => {
150
spyOnDev(console, 'error');
142
- var container = document.createElement('div');
151
+ const container = document.createElement('div');
152
ReactDOM.render(<div foo={() => {}} />, container);
153
if (__DEV__) {
154
expect(console.error.calls.count(0)).toBe(1);
@@ -154,7 +163,7 @@ describe('ReactDOMComponent', () => {
163
164
it('should group multiple unknown prop warnings together', () => {
165
spyOnDev(console, 'error');
157
- var container = document.createElement('div');
166
+ const container = document.createElement('div');
167
ReactDOM.render(<div foo={() => {}} baz={() => {}} />, container);
168
if (__DEV__) {
169
expect(console.error.calls.count(0)).toBe(1);
@@ -169,7 +178,7 @@ describe('ReactDOMComponent', () => {
178
179
it('should warn for onDblClick prop', () => {
180
spyOnDev(console, 'error');
172
- var container = document.createElement('div');
181
+ const container = document.createElement('div');
182
ReactDOM.render(<div onDblClick={() => {}} />, container);
183
if (__DEV__) {
184
expect(console.error.calls.count(0)).toBe(1);
@@ -181,7 +190,7 @@ describe('ReactDOMComponent', () => {
190
191
it('should warn for unknown string event handlers', () => {
192
spyOnDev(console, 'error');
184
- var container = document.createElement('div');
193
+ const container = document.createElement('div');
194
ReactDOM.render(<div onUnknown="alert("hack")" />, container);
195
expect(container.firstChild.hasAttribute('onUnknown')).toBe(false);
196
expect(container.firstChild.onUnknown).toBe(undefined);
@@ -207,7 +216,7 @@ describe('ReactDOMComponent', () => {
216
217
it('should warn for unknown function event handlers', () => {
218
spyOnDev(console, 'error');
210
- var container = document.createElement('div');
219
+ const container = document.createElement('div');
220
ReactDOM.render(<div onUnknown={function() {}} />, container);
221
expect(container.firstChild.hasAttribute('onUnknown')).toBe(false);
222
expect(container.firstChild.onUnknown).toBe(undefined);
@@ -233,7 +242,7 @@ describe('ReactDOMComponent', () => {
242
243
it('should warn for badly cased React attributes', () => {
244
spyOnDev(console, 'error');
236
- var container = document.createElement('div');
245
+ const container = document.createElement('div');
246
ReactDOM.render(<div CHILDREN="5" />, container);
247
expect(container.firstChild.getAttribute('CHILDREN')).toBe('5');
248
if (__DEV__) {
@@ -257,8 +266,8 @@ describe('ReactDOMComponent', () => {
266
it('should warn nicely about NaN in style', () => {
267
spyOnDev(console, 'error');
268
260
- var style = {fontSize: NaN};
261
- var div = document.createElement('div');
269
+ const style = {fontSize: NaN};
270
+ const div = document.createElement('div');
271
ReactDOM.render(<span style={style} />, div);
272
ReactDOM.render(<span style={style} />, div);
273
@@ -272,11 +281,11 @@ describe('ReactDOMComponent', () => {
281
});
282
283
it('should update styles if initially null', () => {
275
- var styles = null;
276
- var container = document.createElement('div');
284
+ let styles = null;
285
+ const container = document.createElement('div');
286
ReactDOM.render(<div style={styles} />, container);
287
279
- var stubStyle = container.firstChild.style;
288
+ const stubStyle = container.firstChild.style;
289
290
styles = {display: 'block'};
291
@@ -285,12 +294,12 @@ describe('ReactDOMComponent', () => {
294
});
295
296
it('should update styles if updated to null multiple times', () => {
288
- var styles = null;
289
- var container = document.createElement('div');
297
+ let styles = null;
298
+ const container = document.createElement('div');
299
ReactDOM.render(<div style={styles} />, container);
300
301
styles = {display: 'block'};
293
- var stubStyle = container.firstChild.style;
302
+ const stubStyle = container.firstChild.style;
303
304
ReactDOM.render(<div style={styles} />, container);
305
expect(stubStyle.display).toEqual('block');
@@ -306,7 +315,7 @@ describe('ReactDOMComponent', () => {
315
});
316
317
it('should allow named slot projection on both web components and regular DOM elements', () => {
309
- var container = document.createElement('div');
318
+ const container = document.createElement('div');
319
320
ReactDOM.render(
321
<my-component>
@@ -316,14 +325,14 @@ describe('ReactDOMComponent', () => {
325
container,
326
);
327
319
- var lightDOM = container.firstChild.childNodes;
328
+ const lightDOM = container.firstChild.childNodes;
329
330
expect(lightDOM[0].getAttribute('slot')).toBe('first');
331
expect(lightDOM[1].getAttribute('slot')).toBe('second');
332
});
333
334
it('should skip reserved props on web components', () => {
326
- var container = document.createElement('div');
335
+ const container = document.createElement('div');
336
337
ReactDOM.render(
338
<my-component
@@ -359,7 +368,7 @@ describe('ReactDOMComponent', () => {
368
});
369
370
it('should skip dangerouslySetInnerHTML on web components', () => {
362
- var container = document.createElement('div');
371
+ const container = document.createElement('div');
372
373
ReactDOM.render(
374
<my-component dangerouslySetInnerHTML={{__html: 'hi'}} />,
@@ -379,7 +388,7 @@ describe('ReactDOMComponent', () => {
388
});
389
390
it('should render null and undefined as empty but print other falsy values', () => {
382
- var container = document.createElement('div');
391
+ const container = document.createElement('div');
392
393
ReactDOM.render(
394
<div dangerouslySetInnerHTML={{__html: 'textContent'}} />,
@@ -416,7 +425,7 @@ describe('ReactDOMComponent', () => {
425
});
426
427
it('should remove attributes', () => {
419
- var container = document.createElement('div');
428
+ const container = document.createElement('div');
429
ReactDOM.render(<img height="17" />, container);
430
431
expect(container.firstChild.hasAttribute('height')).toBe(true);
@@ -425,7 +434,7 @@ describe('ReactDOMComponent', () => {
434
});
435
436
it('should remove properties', () => {
428
- var container = document.createElement('div');
437
+ const container = document.createElement('div');
438
ReactDOM.render(<div className="monkey" />, container);
439
440
expect(container.firstChild.className).toEqual('monkey');
@@ -434,20 +443,20 @@ describe('ReactDOMComponent', () => {
443
});
444
445
it('should properly update custom attributes on custom elements', () => {
437
- var container = document.createElement('div');
446
+ const container = document.createElement('div');
447
ReactDOM.render(<some-custom-element foo="bar" />, container);
448
ReactDOM.render(<some-custom-element bar="buzz" />, container);
440
- var node = container.firstChild;
449
+ const node = container.firstChild;
450
expect(node.hasAttribute('foo')).toBe(false);
451
expect(node.getAttribute('bar')).toBe('buzz');
452
});
453
454
it('should clear a single style prop when changing `style`', () => {
446
- var styles = {display: 'none', color: 'red'};
447
- var container = document.createElement('div');
455
+ let styles = {display: 'none', color: 'red'};
456
+ const container = document.createElement('div');
457
ReactDOM.render(<div style={styles} />, container);
458
450
- var stubStyle = container.firstChild.style;
459
+ const stubStyle = container.firstChild.style;
460
461
styles = {color: 'green'};
462
ReactDOM.render(<div style={styles} />, container);
@@ -457,9 +466,9 @@ describe('ReactDOMComponent', () => {
466
467
it('should reject attribute key injection attack on markup', () => {
468
spyOnDev(console, 'error');
460
- for (var i = 0; i < 3; i++) {
461
- var container = document.createElement('div');
462
- var element = React.createElement(
469
+ for (let i = 0; i < 3; i++) {
470
+ const container = document.createElement('div');
471
+ const element = React.createElement(
472
'x-foo-component',
473
{'blah" onclick="beevil" noise="hi': 'selected'},
474
null,
@@ -476,12 +485,12 @@ describe('ReactDOMComponent', () => {
485
486
it('should reject attribute key injection attack on update', () => {
487
spyOnDev(console, 'error');
479
- for (var i = 0; i < 3; i++) {
480
- var container = document.createElement('div');
481
- var beforeUpdate = React.createElement('x-foo-component', {}, null);
488
+ for (let i = 0; i < 3; i++) {
489
+ const container = document.createElement('div');
490
+ const beforeUpdate = React.createElement('x-foo-component', {}, null);
491
ReactDOM.render(beforeUpdate, container);
492
484
- var afterUpdate = React.createElement(
493
+ const afterUpdate = React.createElement(
494
'x-foo-component',
495
{'blah" onclick="beevil" noise="hi': 'selected'},
496
null,
@@ -497,23 +506,23 @@ describe('ReactDOMComponent', () => {
506
});
507
508
it('should update arbitrary attributes for tags containing dashes', () => {
500
- var container = document.createElement('div');
509
+ const container = document.createElement('div');
510
502
- var beforeUpdate = React.createElement('x-foo-component', {}, null);
511
+ const beforeUpdate = React.createElement('x-foo-component', {}, null);
512
ReactDOM.render(beforeUpdate, container);
513
505
- var afterUpdate = <x-foo-component myattr="myval" />;
514
+ const afterUpdate = <x-foo-component myattr="myval" />;
515
ReactDOM.render(afterUpdate, container);
516
517
expect(container.childNodes[0].getAttribute('myattr')).toBe('myval');
518
});
519
520
it('should clear all the styles when removing `style`', () => {
512
- var styles = {display: 'none', color: 'red'};
513
- var container = document.createElement('div');
521
+ const styles = {display: 'none', color: 'red'};
522
+ const container = document.createElement('div');
523
ReactDOM.render(<div style={styles} />, container);
524
516
- var stubStyle = container.firstChild.style;
525
+ const stubStyle = container.firstChild.style;
526
527
ReactDOM.render(<div />, container);
528
expect(stubStyle.display).toEqual('');
@@ -521,18 +530,18 @@ describe('ReactDOMComponent', () => {
530
});
531
532
it('should update styles when `style` changes from null to object', () => {
524
- var container = document.createElement('div');
525
- var styles = {color: 'red'};
533
+ const container = document.createElement('div');
534
+ const styles = {color: 'red'};
535
ReactDOM.render(<div style={styles} />, container);
536
ReactDOM.render(<div />, container);
537
ReactDOM.render(<div style={styles} />, container);
538
530
- var stubStyle = container.firstChild.style;
539
+ const stubStyle = container.firstChild.style;
540
expect(stubStyle.color).toEqual('red');
541
});
542
543
it('should not reset innerHTML for when children is null', () => {
535
- var container = document.createElement('div');
544
+ const container = document.createElement('div');
545
ReactDOM.render(<div />, container);
546
container.firstChild.innerHTML = 'bonjour';
547
expect(container.firstChild.innerHTML).toEqual('bonjour');
@@ -544,7 +553,7 @@ describe('ReactDOMComponent', () => {
553
it('should reset innerHTML when switching from a direct text child to an empty child', () => {
554
const transitionToValues = [null, undefined, false];
555
transitionToValues.forEach(transitionToValue => {
547
- var container = document.createElement('div');
556
+ const container = document.createElement('div');
557
ReactDOM.render(<div>bonjour</div>, container);
558
expect(container.firstChild.innerHTML).toEqual('bonjour');
559
@@ -554,7 +563,7 @@ describe('ReactDOMComponent', () => {
563
});
564
565
it('should empty element when removing innerHTML', () => {
557
- var container = document.createElement('div');
566
+ const container = document.createElement('div');
567
ReactDOM.render(
568
<div dangerouslySetInnerHTML={{__html: ':)'}} />,
569
container,
@@ -566,7 +575,7 @@ describe('ReactDOMComponent', () => {
575
});
576
577
it('should transition from string content to innerHTML', () => {
569
- var container = document.createElement('div');
578
+ const container = document.createElement('div');
579
ReactDOM.render(<div>hello</div>, container);
580
581
expect(container.firstChild.innerHTML).toEqual('hello');
@@ -578,7 +587,7 @@ describe('ReactDOMComponent', () => {
587
});
588
589
it('should transition from innerHTML to string content', () => {
581
- var container = document.createElement('div');
590
+ const container = document.createElement('div');
591
ReactDOM.render(
592
<div dangerouslySetInnerHTML={{__html: 'bonjour'}} />,
593
container,
@@ -590,7 +599,7 @@ describe('ReactDOMComponent', () => {
599
});
600
601
it('should transition from innerHTML to children in nested el', () => {
593
- var container = document.createElement('div');
602
+ const container = document.createElement('div');
603
ReactDOM.render(
604
<div>
605
<div dangerouslySetInnerHTML={{__html: 'bonjour'}} />
@@ -611,7 +620,7 @@ describe('ReactDOMComponent', () => {
620
});
621
622
it('should transition from children to innerHTML in nested el', () => {
614
- var container = document.createElement('div');
623
+ const container = document.createElement('div');
624
ReactDOM.render(
625
<div>
626
<div>
@@ -632,15 +641,15 @@ describe('ReactDOMComponent', () => {
641
});
642
643
it('should not incur unnecessary DOM mutations for attributes', () => {
635
- var container = document.createElement('div');
644
+ const container = document.createElement('div');
645
ReactDOM.render(<div id="" />, container);
646
638
- var node = container.firstChild;
639
- var nodeSetAttribute = node.setAttribute;
647
+ const node = container.firstChild;
648
+ const nodeSetAttribute = node.setAttribute;
649
node.setAttribute = jest.fn();
650
node.setAttribute.mockImplementation(nodeSetAttribute);
651
643
- var nodeRemoveAttribute = node.removeAttribute;
652
+ const nodeRemoveAttribute = node.removeAttribute;
653
node.removeAttribute = jest.fn();
654
node.removeAttribute.mockImplementation(nodeRemoveAttribute);
655
@@ -670,14 +679,14 @@ describe('ReactDOMComponent', () => {
679
});
680
681
it('should not incur unnecessary DOM mutations for string properties', () => {
673
- var container = document.createElement('div');
682
+ const container = document.createElement('div');
683
ReactDOM.render(<div value="" />, container);
684
676
- var node = container.firstChild;
685
+ const node = container.firstChild;
686
678
- var nodeValueSetter = jest.genMockFn();
687
+ const nodeValueSetter = jest.genMockFn();
688
680
- var oldSetAttribute = node.setAttribute.bind(node);
689
+ const oldSetAttribute = node.setAttribute.bind(node);
690
node.setAttribute = function(key, value) {
691
oldSetAttribute(key, value);
692
nodeValueSetter(key, value);
@@ -703,12 +712,12 @@ describe('ReactDOMComponent', () => {
712
});
713
714
it('should not incur unnecessary DOM mutations for boolean properties', () => {
706
- var container = document.createElement('div');
715
+ const container = document.createElement('div');
716
ReactDOM.render(<div checked={true} />, container);
717
709
- var node = container.firstChild;
710
- var nodeValue = true;
711
- var nodeValueSetter = jest.fn();
718
+ const node = container.firstChild;
719
+ let nodeValue = true;
720
+ const nodeValueSetter = jest.fn();
721
Object.defineProperty(node, 'checked', {
722
get: function() {
723
return nodeValue;
@@ -732,14 +741,14 @@ describe('ReactDOMComponent', () => {
741
});
742
743
it('should ignore attribute whitelist for elements with the "is" attribute', () => {
735
- var container = document.createElement('div');
744
+ const container = document.createElement('div');
745
ReactDOM.render(<button is="test" cowabunga="chevynova" />, container);
746
expect(container.firstChild.hasAttribute('cowabunga')).toBe(true);
747
});
748
749
it('should warn about non-string "is" attribute', () => {
750
spyOnDev(console, 'error');
742
- var container = document.createElement('div');
751
+ const container = document.createElement('div');
752
ReactDOM.render(<button is={function() {}} />, container);
753
754
if (__DEV__) {
@@ -752,10 +761,10 @@ describe('ReactDOMComponent', () => {
761
});
762
763
it('should not update when switching between null/undefined', () => {
755
- var container = document.createElement('div');
756
- var node = ReactDOM.render(<div />, container);
764
+ const container = document.createElement('div');
765
+ const node = ReactDOM.render(<div />, container);
766
758
- var setter = jest.fn();
767
+ const setter = jest.fn();
768
node.setAttribute = setter;
769
770
ReactDOM.render(<div dir={null} />, container);
@@ -770,7 +779,7 @@ describe('ReactDOMComponent', () => {
779
// This test might look like it's just testing ReactMultiChild but the
780
// last bug in this was actually in DOMChildrenOperations so this test
781
// needs to be in some DOM-specific test file.
773
- var container = document.createElement('div');
782
+ const container = document.createElement('div');
783
784
// ABCD
785
ReactDOM.render(
@@ -811,8 +820,8 @@ describe('ReactDOMComponent', () => {
820
}
821
822
function toHaveAttribute(actual, expected) {
814
- var [attr, value] = expected;
815
- var re = '(?:^|\\s)' + attr + '=[\\\'"]';
823
+ const [attr, value] = expected;
824
+ let re = '(?:^|\\s)' + attr + '=[\\\'"]';
825
if (typeof value !== 'undefined') {
826
re += quoteRegexp(value) + '[\\\'"]';
827
}
@@ -851,12 +860,12 @@ describe('ReactDOMComponent', () => {
860
}
861
862
function toHaveInnerhtml(actual, expected) {
854
- var re = '^' + quoteRegexp(expected) + '$';
863
+ const re = '^' + quoteRegexp(expected) + '$';
864
return new RegExp(re).test(actual);
865
}
866
867
it('should handle dangerouslySetInnerHTML', () => {
859
- var innerHTML = {__html: 'testContent'};
868
+ const innerHTML = {__html: 'testContent'};
869
expect(
870
toHaveInnerhtml(
871
genMarkup({dangerouslySetInnerHTML: innerHTML}),
@@ -867,18 +876,18 @@ describe('ReactDOMComponent', () => {
876
});
877
878
describe('mountComponent', () => {
870
- var mountComponent;
879
+ let mountComponent;
880
881
beforeEach(() => {
882
mountComponent = function(props) {
874
- var container = document.createElement('div');
883
+ const container = document.createElement('div');
884
ReactDOM.render(<div {...props} />, container);
885
};
886
});
887
888
it('should work error event on <source> element', () => {
889
spyOnDevAndProd(console, 'log');
881
- var container = document.createElement('div');
890
+ const container = document.createElement('div');
891
ReactDOM.render(
892
<video>
893
<source
@@ -890,7 +899,7 @@ describe('ReactDOMComponent', () => {
899
container,
900
);
901
893
- var errorEvent = document.createEvent('Event');
902
+ const errorEvent = document.createEvent('Event');
903
errorEvent.initEvent('error', false, false);
904
container.getElementsByTagName('source')[0].dispatchEvent(errorEvent);
905
@@ -908,7 +917,7 @@ describe('ReactDOMComponent', () => {
917
}
918
}
919
911
- var returnedValue = ReactDOMServer.renderToString(<Container />);
920
+ const returnedValue = ReactDOMServer.renderToString(<Container />);
921
expect(returnedValue).not.toContain('</BR>');
922
if (__DEV__) {
923
expect(console.error.calls.count()).toBe(1);
@@ -1041,11 +1050,11 @@ describe('ReactDOMComponent', () => {
1050
it('should emit a warning once for a named custom component using shady DOM', () => {
1051
spyOnDev(console, 'error');
1052
1044
- var defaultCreateElement = document.createElement.bind(document);
1053
+ const defaultCreateElement = document.createElement.bind(document);
1054
1055
try {
1056
document.createElement = element => {
1048
- var container = defaultCreateElement(element);
1057
+ const container = defaultCreateElement(element);
1058
container.shadyRoot = {};
1059
return container;
1060
};
@@ -1054,7 +1063,7 @@ describe('ReactDOMComponent', () => {
1063
return <polymer-component />;
1064
}
1065
}
1057
- var node = document.createElement('div');
1066
+ const node = document.createElement('div');
1067
ReactDOM.render(<ShadyComponent />, node);
1068
if (__DEV__) {
1069
expect(console.error.calls.count()).toBe(1);
@@ -1075,11 +1084,11 @@ describe('ReactDOMComponent', () => {
1084
it('should emit a warning once for an unnamed custom component using shady DOM', () => {
1085
spyOnDev(console, 'error');
1086
1078
- var defaultCreateElement = document.createElement.bind(document);
1087
+ const defaultCreateElement = document.createElement.bind(document);
1088
1089
try {
1090
document.createElement = element => {
1082
- var container = defaultCreateElement(element);
1091
+ const container = defaultCreateElement(element);
1092
container.shadyRoot = {};
1093
return container;
1094
};
@@ -1105,9 +1114,9 @@ describe('ReactDOMComponent', () => {
1114
it('should treat menuitem as a void element but still create the closing tag', () => {
1115
// menuitem is not implemented in jsdom, so this triggers the unknown warning error
1116
spyOnDev(console, 'error');
1108
- var container = document.createElement('div');
1117
+ const container = document.createElement('div');
1118
1110
- var returnedValue = ReactDOMServer.renderToString(
1119
+ const returnedValue = ReactDOMServer.renderToString(
1120
<menu>
1121
<menuitem />
1122
</menu>,
@@ -1238,7 +1247,7 @@ describe('ReactDOMComponent', () => {
1247
});
1248
1249
it('should support custom elements which extend native elements', () => {
1241
- var container = document.createElement('div');
1250
+ const container = document.createElement('div');
1251
spyOnDevAndProd(document, 'createElement').and.callThrough();
1252
ReactDOM.render(<div is="custom-div" />, container);
1253
expect(document.createElement).toHaveBeenCalledWith('div', {
@@ -1248,7 +1257,7 @@ describe('ReactDOMComponent', () => {
1257
1258
it('should work load and error events on <image> element in SVG', () => {
1259
spyOnDevAndProd(console, 'log');
1251
- var container = document.createElement('div');
1260
+ const container = document.createElement('div');
1261
ReactDOM.render(
1262
<svg>
1263
<image
@@ -1260,8 +1269,8 @@ describe('ReactDOMComponent', () => {
1269
container,
1270
);
1271
1263
- var loadEvent = document.createEvent('Event');
1264
- var errorEvent = document.createEvent('Event');
1272
+ const loadEvent = document.createEvent('Event');
1273
+ const errorEvent = document.createEvent('Event');
1274
1275
loadEvent.initEvent('load', false, false);
1276
errorEvent.initEvent('error', false, false);
@@ -1278,7 +1287,7 @@ describe('ReactDOMComponent', () => {
1287
});
1288
1289
describe('updateComponent', () => {
1281
- var container;
1290
+ let container;
1291
1292
beforeEach(() => {
1293
container = document.createElement('div');
@@ -1406,7 +1415,7 @@ describe('ReactDOMComponent', () => {
1415
}
1416
}
1417
1409
- var container = document.createElement('div');
1418
+ const container = document.createElement('div');
1419
ReactDOM.render(
1420
<div>
1421
<Inner />
@@ -1419,26 +1428,26 @@ describe('ReactDOMComponent', () => {
1428
1429
describe('tag sanitization', () => {
1430
it('should throw when an invalid tag name is used server-side', () => {
1422
- var hackzor = React.createElement('script tag');
1431
+ const hackzor = React.createElement('script tag');
1432
expect(() => ReactDOMServer.renderToString(hackzor)).toThrowError(
1433
'Invalid tag: script tag',
1434
);
1435
});
1436
1437
it('should throw when an attack vector is used server-side', () => {
1429
- var hackzor = React.createElement('div><img /><div');
1438
+ const hackzor = React.createElement('div><img /><div');
1439
expect(() => ReactDOMServer.renderToString(hackzor)).toThrowError(
1440
'Invalid tag: div><img /><div',
1441
);
1442
});
1443
1444
it('should throw when an invalid tag name is used', () => {
1436
- var hackzor = React.createElement('script tag');
1445
+ const hackzor = React.createElement('script tag');
1446
expect(() => ReactTestUtils.renderIntoDocument(hackzor)).toThrow();
1447
});
1448
1449
it('should throw when an attack vector is used', () => {
1441
- var hackzor = React.createElement('div><img /><div');
1450
+ const hackzor = React.createElement('div><img /><div');
1451
expect(() => ReactTestUtils.renderIntoDocument(hackzor)).toThrow();
1452
});
1453
});
@@ -1472,7 +1481,7 @@ describe('ReactDOMComponent', () => {
1481
1482
it('warns on invalid nesting at root', () => {
1483
spyOnDev(console, 'error');
1475
- var p = document.createElement('p');
1484
+ const p = document.createElement('p');
1485
ReactDOM.render(
1486
<span>
1487
<p />
@@ -1890,7 +1899,7 @@ describe('ReactDOMComponent', () => {
1899
1900
it('gives source code refs for unknown prop warning for update render', () => {
1901
spyOnDev(console, 'error');
1893
- var container = document.createElement('div');
1902
+ const container = document.createElement('div');
1903
1904
ReactTestUtils.renderIntoDocument(<div className="paladin" />, container);
1905
if (__DEV__) {
@@ -1923,14 +1932,14 @@ describe('ReactDOMComponent', () => {
1932
expect(console.error.calls.count()).toBe(2);
1933
1934
expect(console.error.calls.argsFor(0)[0]).toContain('className');
1926
- var matches = console.error.calls
1935
+ let matches = console.error.calls
1936
.argsFor(0)[0]
1937
.match(/.*\(.*:(\d+)\).*/);
1929
- var previousLine = matches[1];
1938
+ const previousLine = matches[1];
1939
1940
expect(console.error.calls.argsFor(1)[0]).toContain('onClick');
1941
matches = console.error.calls.argsFor(1)[0].match(/.*\(.*:(\d+)\).*/);
1933
- var currentLine = matches[1];
1942
+ const currentLine = matches[1];
1943
1944
//verify line number has a proper relative difference,
1945
//since hard coding the line number would make test too brittle
@@ -1955,15 +1964,15 @@ describe('ReactDOMComponent', () => {
1964
expect(console.error.calls.count()).toBe(2);
1965
1966
expect(console.error.calls.argsFor(0)[0]).toContain('className');
1958
- var matches = console.error.calls
1967
+ let matches = console.error.calls
1968
.argsFor(0)[0]
1969
.match(/.*\(.*:(\d+)\).*/);
1961
- var previousLine = (matches || [])[1];
1970
+ const previousLine = (matches || [])[1];
1971
1972
expect(console.error.calls.argsFor(1)[0]).toContain('onClick');
1973
matches =
1974
console.error.calls.argsFor(1)[0].match(/.*\(.*:(\d+)\).*/) || {};
1966
- var currentLine = (matches || [])[1];
1975
+ const currentLine = (matches || [])[1];
1976
1977
//verify line number has a proper relative difference,
1978
//since hard coding the line number would make test too brittle
@@ -1973,7 +1982,7 @@ describe('ReactDOMComponent', () => {
1982
1983
it('gives source code refs for unknown prop warning for exact elements in composition', () => {
1984
spyOnDev(console, 'error');
1976
- var container = document.createElement('div');
1985
+ const container = document.createElement('div');
1986
1987
class Parent extends React.Component {
1988
render() {
@@ -2018,14 +2027,14 @@ describe('ReactDOMComponent', () => {
2027
expect(console.error.calls.count()).toBe(2);
2028
2029
expect(console.error.calls.argsFor(0)[0]).toContain('className');
2021
- var matches = console.error.calls
2030
+ let matches = console.error.calls
2031
.argsFor(0)[0]
2032
.match(/.*\(.*:(\d+)\).*/);
2024
- var previousLine = (matches || [])[1];
2033
+ const previousLine = (matches || [])[1];
2034
2035
expect(console.error.calls.argsFor(1)[0]).toContain('onClick');
2036
matches = console.error.calls.argsFor(1)[0].match(/.*\(.*:(\d+)\).*/);
2028
- var currentLine = (matches || [])[1];
2037
+ const currentLine = (matches || [])[1];
2038
2039
//verify line number has a proper relative difference,
2040
//since hard coding the line number would make test too brittle
@@ -2035,7 +2044,7 @@ describe('ReactDOMComponent', () => {
2044
2045
it('gives source code refs for unknown prop warning for exact elements in composition (ssr)', () => {
2046
spyOnDev(console, 'error');
2038
- var container = document.createElement('div');
2047
+ const container = document.createElement('div');
2048
2049
class Parent extends React.Component {
2050
render() {
@@ -2080,14 +2089,14 @@ describe('ReactDOMComponent', () => {
2089
expect(console.error.calls.count()).toBe(2);
2090
2091
expect(console.error.calls.argsFor(0)[0]).toContain('className');
2083
- var matches = console.error.calls
2092
+ let matches = console.error.calls
2093
.argsFor(0)[0]
2094
.match(/.*\(.*:(\d+)\).*/);
2086
- var previousLine = (matches || [])[1];
2095
+ const previousLine = (matches || [])[1];
2096
2097
expect(console.error.calls.argsFor(1)[0]).toContain('onClick');
2098
matches = console.error.calls.argsFor(1)[0].match(/.*\(.*:(\d+)\).*/);
2090
- var currentLine = (matches || [])[1];
2099
+ const currentLine = (matches || [])[1];
2100
2101
//verify line number has a proper relative difference,
2102
//since hard coding the line number would make test too brittle
@@ -2170,7 +2179,7 @@ describe('ReactDOMComponent', () => {
2179
it('sets aliased attributes on HTML attributes', function() {
2180
spyOnDev(console, 'error');
2181
2173
- var el = ReactTestUtils.renderIntoDocument(<div class="test" />);
2182
+ const el = ReactTestUtils.renderIntoDocument(<div class="test" />);
2183
2184
expect(el.className).toBe('test');
2185
@@ -2184,7 +2193,7 @@ describe('ReactDOMComponent', () => {
2193
it('sets incorrectly cased aliased attributes on HTML attributes with a warning', function() {
2194
spyOnDev(console, 'error');
2195
2187
- var el = ReactTestUtils.renderIntoDocument(<div cLASS="test" />);
2196
+ const el = ReactTestUtils.renderIntoDocument(<div cLASS="test" />);
2197
2198
expect(el.className).toBe('test');
2199
@@ -2198,12 +2207,12 @@ describe('ReactDOMComponent', () => {
2207
it('sets aliased attributes on SVG elements with a warning', function() {
2208
spyOnDev(console, 'error');
2209
2201
- var el = ReactTestUtils.renderIntoDocument(
2210
+ const el = ReactTestUtils.renderIntoDocument(
2211
<svg>
2212
<text arabic-form="initial" />
2213
</svg>,
2214
);
2206
- var text = el.querySelector('text');
2215
+ const text = el.querySelector('text');
2216
2217
expect(text.hasAttribute('arabic-form')).toBe(true);
2218
@@ -2215,7 +2224,7 @@ describe('ReactDOMComponent', () => {
2224
});
2225
2226
it('sets aliased attributes on custom elements', function() {
2218
- var el = ReactTestUtils.renderIntoDocument(
2227
+ const el = ReactTestUtils.renderIntoDocument(
2228
<div is="custom-element" class="test" />,
2229
);
2230
@@ -2223,7 +2232,7 @@ describe('ReactDOMComponent', () => {
2232
});
2233
2234
it('aliased attributes on custom elements with bad casing', function() {
2226
- var el = ReactTestUtils.renderIntoDocument(
2235
+ const el = ReactTestUtils.renderIntoDocument(
2236
<div is="custom-element" claSS="test" />,
2237
);
2238
@@ -2231,7 +2240,7 @@ describe('ReactDOMComponent', () => {
2240
});
2241
2242
it('updates aliased attributes on custom elements', function() {
2234
- var container = document.createElement('div');
2243
+ const container = document.createElement('div');
2244
ReactDOM.render(<div is="custom-element" class="foo" />, container);
2245
ReactDOM.render(<div is="custom-element" class="bar" />, container);
2246
@@ -2241,7 +2250,7 @@ describe('ReactDOMComponent', () => {
2250
2251
describe('Custom attributes', function() {
2252
it('allows assignment of custom attributes with string values', function() {
2244
- var el = ReactTestUtils.renderIntoDocument(<div whatever="30" />);
2253
+ const el = ReactTestUtils.renderIntoDocument(<div whatever="30" />);
2254
2255
expect(el.getAttribute('whatever')).toBe('30');
2256
});
@@ -2260,7 +2269,7 @@ describe('ReactDOMComponent', () => {
2269
it('does not assign a boolean custom attributes as a string', function() {
2270
spyOnDev(console, 'error');
2271
2263
- var el = ReactTestUtils.renderIntoDocument(<div whatever={true} />);
2272
+ const el = ReactTestUtils.renderIntoDocument(<div whatever={true} />);
2273
2274
expect(el.hasAttribute('whatever')).toBe(false);
2275
@@ -2277,7 +2286,7 @@ describe('ReactDOMComponent', () => {
2286
spyOnDev(console, 'error');
2287
2288
// eslint-disable-next-line react/jsx-boolean-value
2280
- var el = ReactTestUtils.renderIntoDocument(<div whatever />);
2289
+ const el = ReactTestUtils.renderIntoDocument(<div whatever />);
2290
2291
expect(el.hasAttribute('whatever')).toBe(false);
2292
@@ -2291,7 +2300,7 @@ describe('ReactDOMComponent', () => {
2300
});
2301
2302
it('assigns a numeric custom attributes as a string', function() {
2294
- var el = ReactTestUtils.renderIntoDocument(<div whatever={3} />);
2303
+ const el = ReactTestUtils.renderIntoDocument(<div whatever={3} />);
2304
2305
expect(el.getAttribute('whatever')).toBe('3');
2306
});
@@ -2299,7 +2308,7 @@ describe('ReactDOMComponent', () => {
2308
it('will not assign a function custom attributes', function() {
2309
spyOnDev(console, 'error');
2310
2302
- var el = ReactTestUtils.renderIntoDocument(<div whatever={() => {}} />);
2311
+ const el = ReactTestUtils.renderIntoDocument(<div whatever={() => {}} />);
2312
2313
expect(el.hasAttribute('whatever')).toBe(false);
2314
@@ -2311,14 +2320,14 @@ describe('ReactDOMComponent', () => {
2320
});
2321
2322
it('will assign an object custom attributes', function() {
2314
- var el = ReactTestUtils.renderIntoDocument(<div whatever={{}} />);
2323
+ const el = ReactTestUtils.renderIntoDocument(<div whatever={{}} />);
2324
expect(el.getAttribute('whatever')).toBe('[object Object]');
2325
});
2326
2327
it('allows cased data attributes', function() {
2328
spyOnDev(console, 'error');
2329
2321
- var el = ReactTestUtils.renderIntoDocument(<div data-fooBar="true" />);
2330
+ const el = ReactTestUtils.renderIntoDocument(<div data-fooBar="true" />);
2331
expect(el.getAttribute('data-foobar')).toBe('true');
2332
2333
if (__DEV__) {
@@ -2337,7 +2346,7 @@ describe('ReactDOMComponent', () => {
2346
it('allows cased custom attributes', function() {
2347
spyOnDev(console, 'error');
2348
2340
- var el = ReactTestUtils.renderIntoDocument(<div fooBar="true" />);
2349
+ const el = ReactTestUtils.renderIntoDocument(<div fooBar="true" />);
2350
expect(el.getAttribute('foobar')).toBe('true');
2351
2352
if (__DEV__) {
@@ -2356,7 +2365,7 @@ describe('ReactDOMComponent', () => {
2365
it('warns on NaN attributes', function() {
2366
spyOnDev(console, 'error');
2367
2359
- var el = ReactTestUtils.renderIntoDocument(<div whatever={NaN} />);
2368
+ const el = ReactTestUtils.renderIntoDocument(<div whatever={NaN} />);
2369
2370
expect(el.getAttribute('whatever')).toBe('NaN');
2371
@@ -2371,10 +2380,10 @@ describe('ReactDOMComponent', () => {
2380
it('removes a property when it becomes invalid', function() {
2381
spyOnDev(console, 'error');
2382
2374
- var container = document.createElement('div');
2383
+ const container = document.createElement('div');
2384
ReactDOM.render(<div whatever={0} />, container);
2385
ReactDOM.render(<div whatever={() => {}} />, container);
2377
- var el = container.firstChild;
2386
+ const el = container.firstChild;
2387
2388
expect(el.hasAttribute('whatever')).toBe(false);
2389
@@ -2388,7 +2397,7 @@ describe('ReactDOMComponent', () => {
2397
it('warns on bad casing of known HTML attributes', function() {
2398
spyOnDev(console, 'error');
2399
2391
- var el = ReactTestUtils.renderIntoDocument(<div SiZe="30" />);
2400
+ const el = ReactTestUtils.renderIntoDocument(<div SiZe="30" />);
2401
2402
expect(el.getAttribute('size')).toBe('30');
2403
@@ -2402,17 +2411,17 @@ describe('ReactDOMComponent', () => {
2411
2412
describe('Object stringification', function() {
2413
it('allows objects on known properties', function() {
2405
- var el = ReactTestUtils.renderIntoDocument(<div acceptCharset={{}} />);
2414
+ const el = ReactTestUtils.renderIntoDocument(<div acceptCharset={{}} />);
2415
expect(el.getAttribute('accept-charset')).toBe('[object Object]');
2416
});
2417
2418
it('should pass objects as attributes if they define toString', () => {
2410
- var obj = {
2419
+ const obj = {
2420
toString() {
2421
return 'hello';
2422
},
2423
};
2415
- var container = document.createElement('div');
2424
+ const container = document.createElement('div');
2425
2426
ReactDOM.render(<img src={obj} />, container);
2427
expect(container.firstChild.src).toBe('hello');
@@ -2425,8 +2434,8 @@ describe('ReactDOMComponent', () => {
2434
});
2435
2436
it('passes objects on known SVG attributes if they do not define toString', () => {
2428
- var obj = {};
2429
- var container = document.createElement('div');
2437
+ const obj = {};
2438
+ const container = document.createElement('div');
2439
2440
ReactDOM.render(<svg arabicForm={obj} />, container);
2441
expect(container.firstChild.getAttribute('arabic-form')).toBe(
@@ -2435,8 +2444,8 @@ describe('ReactDOMComponent', () => {
2444
});
2445
2446
it('passes objects on custom attributes if they do not define toString', () => {
2438
- var obj = {};
2439
- var container = document.createElement('div');
2447
+ const obj = {};
2448
+ const container = document.createElement('div');
2449
2450
ReactDOM.render(<div unknown={obj} />, container);
2451
expect(container.firstChild.getAttribute('unknown')).toBe(
@@ -2445,16 +2454,16 @@ describe('ReactDOMComponent', () => {
2454
});
2455
2456
it('allows objects that inherit a custom toString method', function() {
2448
- var parent = {toString: () => 'hello.jpg'};
2449
- var child = Object.create(parent);
2450
- var el = ReactTestUtils.renderIntoDocument(<img src={child} />);
2457
+ const parent = {toString: () => 'hello.jpg'};
2458
+ const child = Object.create(parent);
2459
+ const el = ReactTestUtils.renderIntoDocument(<img src={child} />);
2460
2461
expect(el.src).toBe('hello.jpg');
2462
});
2463
2464
it('assigns ajaxify (an important internal FB attribute)', function() {
2456
- var options = {toString: () => 'ajaxy'};
2457
- var el = ReactTestUtils.renderIntoDocument(<div ajaxify={options} />);
2465
+ const options = {toString: () => 'ajaxy'};
2466
+ const el = ReactTestUtils.renderIntoDocument(<div ajaxify={options} />);
2467
2468
expect(el.getAttribute('ajaxify')).toBe('ajaxy');
2469
});
@@ -2464,7 +2473,7 @@ describe('ReactDOMComponent', () => {
2473
it('does not assign string boolean attributes for custom attributes', function() {
2474
spyOnDev(console, 'error');
2475
2467
- var el = ReactTestUtils.renderIntoDocument(<div whatever={true} />);
2476
+ const el = ReactTestUtils.renderIntoDocument(<div whatever={true} />);
2477
2478
expect(el.hasAttribute('whatever')).toBe(false);
2479
@@ -2478,20 +2487,20 @@ describe('ReactDOMComponent', () => {
2487
});
2488
2489
it('stringifies the boolean true for allowed attributes', function() {
2481
- var el = ReactTestUtils.renderIntoDocument(<div spellCheck={true} />);
2490
+ const el = ReactTestUtils.renderIntoDocument(<div spellCheck={true} />);
2491
2492
expect(el.getAttribute('spellCheck')).toBe('true');
2493
});
2494
2495
it('stringifies the boolean false for allowed attributes', function() {
2487
- var el = ReactTestUtils.renderIntoDocument(<div spellCheck={false} />);
2496
+ const el = ReactTestUtils.renderIntoDocument(<div spellCheck={false} />);
2497
2498
expect(el.getAttribute('spellCheck')).toBe('false');
2499
});
2500
2501
it('stringifies implicit booleans for allowed attributes', function() {
2502
// eslint-disable-next-line react/jsx-boolean-value
2494
- var el = ReactTestUtils.renderIntoDocument(<div spellCheck />);
2503
+ const el = ReactTestUtils.renderIntoDocument(<div spellCheck />);
2504
2505
expect(el.getAttribute('spellCheck')).toBe('true');
2506
});
@@ -2500,7 +2509,7 @@ describe('ReactDOMComponent', () => {
2509
describe('Hyphenated SVG elements', function() {
2510
it('the font-face element is not a custom element', function() {
2511
spyOnDev(console, 'error');
2503
- var el = ReactTestUtils.renderIntoDocument(
2512
+ const el = ReactTestUtils.renderIntoDocument(
2513
<svg>
2514
<font-face x-height={false} />
2515
</svg>,
@@ -2520,7 +2529,7 @@ describe('ReactDOMComponent', () => {
2529
2530
it('the font-face element does not allow unknown boolean values', function() {
2531
spyOnDev(console, 'error');
2523
- var el = ReactTestUtils.renderIntoDocument(
2532
+ const el = ReactTestUtils.renderIntoDocument(
2533
<svg>
2534
<font-face whatever={false} />
2535
</svg>,
packages/react-dom/src/__tests__/ReactDOMEventListener-test.js
+37
-37
@@ -10,8 +10,8 @@
10
'use strict';
11
12
describe('ReactDOMEventListener', () => {
13
- var React;
14
- var ReactDOM;
13
+ let React;
14
+ let ReactDOM;
15
16
beforeEach(() => {
17
jest.resetModules();
@@ -20,11 +20,11 @@ describe('ReactDOMEventListener', () => {
20
});
21
22
it('should dispatch events from outside React tree', () => {
23
- var mock = jest.fn();
23
+ const mock = jest.fn();
24
25
- var container = document.createElement('div');
26
- var node = ReactDOM.render(<div onMouseEnter={mock} />, container);
27
- var otherNode = document.createElement('h1');
25
+ const container = document.createElement('div');
26
+ const node = ReactDOM.render(<div onMouseEnter={mock} />, container);
27
+ const otherNode = document.createElement('h1');
28
document.body.appendChild(container);
29
document.body.appendChild(otherNode);
30
@@ -40,23 +40,23 @@ describe('ReactDOMEventListener', () => {
40
41
describe('Propagation', () => {
42
it('should propagate events one level down', () => {
43
- var mouseOut = jest.fn();
44
- var onMouseOut = event => mouseOut(event.currentTarget);
43
+ const mouseOut = jest.fn();
44
+ const onMouseOut = event => mouseOut(event.currentTarget);
45
46
- var childContainer = document.createElement('div');
47
- var parentContainer = document.createElement('div');
48
- var childNode = ReactDOM.render(
46
+ const childContainer = document.createElement('div');
47
+ const parentContainer = document.createElement('div');
48
+ const childNode = ReactDOM.render(
49
<div onMouseOut={onMouseOut}>Child</div>,
50
childContainer,
51
);
52
- var parentNode = ReactDOM.render(
52
+ const parentNode = ReactDOM.render(
53
<div onMouseOut={onMouseOut}>div</div>,
54
parentContainer,
55
);
56
parentNode.appendChild(childContainer);
57
document.body.appendChild(parentContainer);
58
59
- var nativeEvent = document.createEvent('Event');
59
+ const nativeEvent = document.createEvent('Event');
60
nativeEvent.initEvent('mouseout', true, true);
61
childNode.dispatchEvent(nativeEvent);
62
@@ -69,21 +69,21 @@ describe('ReactDOMEventListener', () => {
69
});
70
71
it('should propagate events two levels down', () => {
72
- var mouseOut = jest.fn();
73
- var onMouseOut = event => mouseOut(event.currentTarget);
72
+ const mouseOut = jest.fn();
73
+ const onMouseOut = event => mouseOut(event.currentTarget);
74
75
- var childContainer = document.createElement('div');
76
- var parentContainer = document.createElement('div');
77
- var grandParentContainer = document.createElement('div');
78
- var childNode = ReactDOM.render(
75
+ const childContainer = document.createElement('div');
76
+ const parentContainer = document.createElement('div');
77
+ const grandParentContainer = document.createElement('div');
78
+ const childNode = ReactDOM.render(
79
<div onMouseOut={onMouseOut}>Child</div>,
80
childContainer,
81
);
82
- var parentNode = ReactDOM.render(
82
+ const parentNode = ReactDOM.render(
83
<div onMouseOut={onMouseOut}>Parent</div>,
84
parentContainer,
85
);
86
- var grandParentNode = ReactDOM.render(
86
+ const grandParentNode = ReactDOM.render(
87
<div onMouseOut={onMouseOut}>Parent</div>,
88
grandParentContainer,
89
);
@@ -92,7 +92,7 @@ describe('ReactDOMEventListener', () => {
92
93
document.body.appendChild(grandParentContainer);
94
95
- var nativeEvent = document.createEvent('Event');
95
+ const nativeEvent = document.createEvent('Event');
96
nativeEvent.initEvent('mouseout', true, true);
97
childNode.dispatchEvent(nativeEvent);
98
@@ -107,7 +107,7 @@ describe('ReactDOMEventListener', () => {
107
108
// Regression test for https://github.com/facebook/react/issues/1105
109
it('should not get confused by disappearing elements', () => {
110
- var container = document.createElement('div');
110
+ const container = document.createElement('div');
111
document.body.appendChild(container);
112
class MyComponent extends React.Component {
113
state = {clicked: false};
@@ -139,32 +139,32 @@ describe('ReactDOMEventListener', () => {
139
});
140
141
it('should batch between handlers from different roots', () => {
142
- var mock = jest.fn();
142
+ const mock = jest.fn();
143
144
- var childContainer = document.createElement('div');
145
- var handleChildMouseOut = () => {
144
+ const childContainer = document.createElement('div');
145
+ const handleChildMouseOut = () => {
146
ReactDOM.render(<div>1</div>, childContainer);
147
mock(childNode.textContent);
148
};
149
150
- var parentContainer = document.createElement('div');
151
- var handleParentMouseOut = () => {
150
+ const parentContainer = document.createElement('div');
151
+ const handleParentMouseOut = () => {
152
ReactDOM.render(<div>2</div>, childContainer);
153
mock(childNode.textContent);
154
};
155
156
- var childNode = ReactDOM.render(
156
+ const childNode = ReactDOM.render(
157
<div onMouseOut={handleChildMouseOut}>Child</div>,
158
childContainer,
159
);
160
- var parentNode = ReactDOM.render(
160
+ const parentNode = ReactDOM.render(
161
<div onMouseOut={handleParentMouseOut}>Parent</div>,
162
parentContainer,
163
);
164
parentNode.appendChild(childContainer);
165
document.body.appendChild(parentContainer);
166
167
- var nativeEvent = document.createEvent('Event');
167
+ const nativeEvent = document.createEvent('Event');
168
nativeEvent.initEvent('mouseout', true, true);
169
childNode.dispatchEvent(nativeEvent);
170
@@ -183,8 +183,8 @@ describe('ReactDOMEventListener', () => {
183
});
184
185
it('should not fire duplicate events for a React DOM tree', () => {
186
- var mouseOut = jest.fn();
187
- var onMouseOut = event => mouseOut(event.target);
186
+ const mouseOut = jest.fn();
187
+ const onMouseOut = event => mouseOut(event.target);
188
189
class Wrapper extends React.Component {
190
getInner = () => {
@@ -192,7 +192,7 @@ describe('ReactDOMEventListener', () => {
192
};
193
194
render() {
195
- var inner = <div ref="inner">Inner</div>;
195
+ const inner = <div ref="inner">Inner</div>;
196
return (
197
<div>
198
<div onMouseOut={onMouseOut} id="outer">
@@ -203,12 +203,12 @@ describe('ReactDOMEventListener', () => {
203
}
204
}
205
206
- var container = document.createElement('div');
207
- var instance = ReactDOM.render(<Wrapper />, container);
206
+ const container = document.createElement('div');
207
+ const instance = ReactDOM.render(<Wrapper />, container);
208
209
document.body.appendChild(container);
210
211
- var nativeEvent = document.createEvent('Event');
211
+ const nativeEvent = document.createEvent('Event');
212
nativeEvent.initEvent('mouseout', true, true);
213
instance.getInner().dispatchEvent(nativeEvent);
214
packages/react-dom/src/__tests__/ReactDOMFiber-test.js
+45
-45
@@ -9,17 +9,17 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var ReactDOM = require('react-dom');
14
-var ReactTestUtils = require('react-dom/test-utils');
15
-var PropTypes = require('prop-types');
12
+const React = require('react');
13
+const ReactDOM = require('react-dom');
14
+const ReactTestUtils = require('react-dom/test-utils');
15
+const PropTypes = require('prop-types');
16
17
describe('ReactDOMFiber', () => {
18
function normalizeCodeLocInfo(str) {
19
return str && str.replace(/\(at .+?:\d+\)/g, '(at **)');
20
}
21
22
- var container;
22
+ let container;
23
24
beforeEach(() => {
25
container = document.createElement('div');
@@ -175,16 +175,16 @@ describe('ReactDOMFiber', () => {
175
expect(firstNode.tagName).toBe('DIV');
176
});
177
178
- var svgEls, htmlEls, mathEls;
179
- var expectSVG = {ref: el => svgEls.push(el)};
180
- var expectHTML = {ref: el => htmlEls.push(el)};
181
- var expectMath = {ref: el => mathEls.push(el)};
178
+ let svgEls, htmlEls, mathEls;
179
+ const expectSVG = {ref: el => svgEls.push(el)};
180
+ const expectHTML = {ref: el => htmlEls.push(el)};
181
+ const expectMath = {ref: el => mathEls.push(el)};
182
183
- var usePortal = function(tree) {
183
+ const usePortal = function(tree) {
184
return ReactDOM.createPortal(tree, document.createElement('div'));
185
};
186
187
- var assertNamespacesMatch = function(tree) {
187
+ const assertNamespacesMatch = function(tree) {
188
container = document.createElement('div');
189
svgEls = [];
190
htmlEls = [];
@@ -206,7 +206,7 @@ describe('ReactDOMFiber', () => {
206
};
207
208
it('should render one portal', () => {
209
- var portalContainer = document.createElement('div');
209
+ const portalContainer = document.createElement('div');
210
211
ReactDOM.render(
212
<div>{ReactDOM.createPortal(<div>portal</div>, portalContainer)}</div>,
@@ -222,7 +222,7 @@ describe('ReactDOMFiber', () => {
222
223
// TODO: remove in React 17
224
it('should support unstable_createPortal alias', () => {
225
- var portalContainer = document.createElement('div');
225
+ const portalContainer = document.createElement('div');
226
227
ReactDOM.render(
228
<div>
@@ -239,10 +239,10 @@ describe('ReactDOMFiber', () => {
239
});
240
241
it('should render many portals', () => {
242
- var portalContainer1 = document.createElement('div');
243
- var portalContainer2 = document.createElement('div');
242
+ const portalContainer1 = document.createElement('div');
243
+ const portalContainer2 = document.createElement('div');
244
245
- var ops = [];
245
+ const ops = [];
246
class Child extends React.Component {
247
componentDidMount() {
248
ops.push(`${this.props.name} componentDidMount`);
@@ -339,9 +339,9 @@ describe('ReactDOMFiber', () => {
339
});
340
341
it('should render nested portals', () => {
342
- var portalContainer1 = document.createElement('div');
343
- var portalContainer2 = document.createElement('div');
344
- var portalContainer3 = document.createElement('div');
342
+ const portalContainer1 = document.createElement('div');
343
+ const portalContainer2 = document.createElement('div');
344
+ const portalContainer3 = document.createElement('div');
345
346
ReactDOM.render(
347
[
@@ -382,7 +382,7 @@ describe('ReactDOMFiber', () => {
382
});
383
384
it('should reconcile portal children', () => {
385
- var portalContainer = document.createElement('div');
385
+ const portalContainer = document.createElement('div');
386
387
ReactDOM.render(
388
<div>{ReactDOM.createPortal(<div>portal:1</div>, portalContainer)}</div>,
@@ -676,7 +676,7 @@ describe('ReactDOMFiber', () => {
676
});
677
678
it('should pass portal context when rendering subtree elsewhere', () => {
679
- var portalContainer = document.createElement('div');
679
+ const portalContainer = document.createElement('div');
680
681
class Component extends React.Component {
682
static contextTypes = {
@@ -710,7 +710,7 @@ describe('ReactDOMFiber', () => {
710
});
711
712
it('should update portal context if it changes due to setState', () => {
713
- var portalContainer = document.createElement('div');
713
+ const portalContainer = document.createElement('div');
714
715
class Component extends React.Component {
716
static contextTypes = {
@@ -745,7 +745,7 @@ describe('ReactDOMFiber', () => {
745
}
746
}
747
748
- var instance = ReactDOM.render(<Parent />, container);
748
+ const instance = ReactDOM.render(<Parent />, container);
749
expect(portalContainer.innerHTML).toBe('<div>initial-initial</div>');
750
expect(container.innerHTML).toBe('');
751
instance.setState({bar: 'changed'});
@@ -754,7 +754,7 @@ describe('ReactDOMFiber', () => {
754
});
755
756
it('should update portal context if it changes due to re-render', () => {
757
- var portalContainer = document.createElement('div');
757
+ const portalContainer = document.createElement('div');
758
759
class Component extends React.Component {
760
static contextTypes = {
@@ -802,22 +802,22 @@ describe('ReactDOMFiber', () => {
802
}
803
}
804
805
- var myNodeA = ReactDOM.render(<MyNode />, container);
806
- var a = ReactDOM.findDOMNode(myNodeA);
805
+ const myNodeA = ReactDOM.render(<MyNode />, container);
806
+ const a = ReactDOM.findDOMNode(myNodeA);
807
expect(a.tagName).toBe('DIV');
808
809
- var myNodeB = ReactDOM.render(<MyNode flag={true} />, container);
809
+ const myNodeB = ReactDOM.render(<MyNode flag={true} />, container);
810
expect(myNodeA === myNodeB).toBe(true);
811
812
- var b = ReactDOM.findDOMNode(myNodeB);
812
+ const b = ReactDOM.findDOMNode(myNodeB);
813
expect(b.tagName).toBe('SPAN');
814
});
815
816
it('should bubble events from the portal to the parent', () => {
817
- var portalContainer = document.createElement('div');
817
+ const portalContainer = document.createElement('div');
818
819
- var ops = [];
820
- var portal = null;
819
+ const ops = [];
820
+ let portal = null;
821
822
ReactDOM.render(
823
<div onClick={() => ops.push('parent clicked')}>
@@ -835,7 +835,7 @@ describe('ReactDOMFiber', () => {
835
836
expect(portal.tagName).toBe('DIV');
837
838
- var fakeNativeEvent = {};
838
+ const fakeNativeEvent = {};
839
ReactTestUtils.simulateNativeEventOnNode(
840
'topClick',
841
portal,
@@ -846,12 +846,12 @@ describe('ReactDOMFiber', () => {
846
});
847
848
it('should not onMouseLeave when staying in the portal', () => {
849
- var portalContainer = document.createElement('div');
849
+ const portalContainer = document.createElement('div');
850
851
- var ops = [];
852
- var firstTarget = null;
853
- var secondTarget = null;
854
- var thirdTarget = null;
851
+ let ops = [];
852
+ let firstTarget = null;
853
+ let secondTarget = null;
854
+ let thirdTarget = null;
855
856
function simulateMouseMove(from, to) {
857
if (from) {
@@ -990,7 +990,7 @@ describe('ReactDOMFiber', () => {
990
expect(node.tagName).toEqual('DIV');
991
992
function click(target) {
993
- var fakeNativeEvent = {};
993
+ const fakeNativeEvent = {};
994
ReactTestUtils.simulateNativeEventOnNode(
995
'topClick',
996
target,
@@ -1136,18 +1136,18 @@ describe('ReactDOMFiber', () => {
1136
// 1. Create a new document through the use of iframe
1137
// 2. Set up the spy to make asserts when a text component
1138
// is rendered inside the iframe container
1139
- var textContent = 'Hello world';
1140
- var iframe = document.createElement('iframe');
1139
+ const textContent = 'Hello world';
1140
+ const iframe = document.createElement('iframe');
1141
document.body.appendChild(iframe);
1142
- var iframeDocument = iframe.contentDocument;
1142
+ const iframeDocument = iframe.contentDocument;
1143
iframeDocument.write(
1144
'<!DOCTYPE html><html><head></head><body><div></div></body></html>',
1145
);
1146
iframeDocument.close();
1147
- var iframeContainer = iframeDocument.body.firstChild;
1147
+ const iframeContainer = iframeDocument.body.firstChild;
1148
1149
- var actualDocument;
1150
- var textNode;
1149
+ let actualDocument;
1150
+ let textNode;
1151
1152
spyOnDevAndProd(iframeContainer, 'appendChild').and.callFake(node => {
1153
actualDocument = node.ownerDocument;
@@ -1163,7 +1163,7 @@ describe('ReactDOMFiber', () => {
1163
});
1164
1165
it('should mount into a document fragment', () => {
1166
- var fragment = document.createDocumentFragment();
1166
+ const fragment = document.createDocumentFragment();
1167
ReactDOM.render(<div>foo</div>, fragment);
1168
expect(container.innerHTML).toBe('');
1169
container.appendChild(fragment);
packages/react-dom/src/__tests__/ReactDOMFiberAsync-test.internal.js
+6
-6
@@ -9,15 +9,15 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var ReactFeatureFlags = require('shared/ReactFeatureFlags');
12
+const React = require('react');
13
+let ReactFeatureFlags = require('shared/ReactFeatureFlags');
14
15
-var ReactDOM;
15
+let ReactDOM;
16
17
-var AsyncComponent = React.unstable_AsyncComponent;
17
+const AsyncComponent = React.unstable_AsyncComponent;
18
19
describe('ReactDOMFiberAsync', () => {
20
- var container;
20
+ let container;
21
22
beforeEach(() => {
23
container = document.createElement('div');
@@ -25,7 +25,7 @@ describe('ReactDOMFiberAsync', () => {
25
});
26
27
it('renders synchronously by default', () => {
28
- var ops = [];
28
+ const ops = [];
29
ReactDOM.render(<div>Hi</div>, container, () => {
30
ops.push(container.textContent);
31
});
packages/react-dom/src/__tests__/ReactDOMIframe-test.js
+6
-6
@@ -10,9 +10,9 @@
10
'use strict';
11
12
describe('ReactDOMIframe', () => {
13
- var React;
14
- var ReactDOM;
15
- var ReactTestUtils;
13
+ let React;
14
+ let ReactDOM;
15
+ let ReactTestUtils;
16
17
beforeEach(() => {
18
React = require('react');
@@ -21,11 +21,11 @@ describe('ReactDOMIframe', () => {
21
});
22
23
it('should trigger load events', () => {
24
- var onLoadSpy = jasmine.createSpy();
25
- var iframe = React.createElement('iframe', {onLoad: onLoadSpy});
24
+ const onLoadSpy = jasmine.createSpy();
25
+ let iframe = React.createElement('iframe', {onLoad: onLoadSpy});
26
iframe = ReactTestUtils.renderIntoDocument(iframe);
27
28
- var loadEvent = document.createEvent('Event');
28
+ const loadEvent = document.createEvent('Event');
29
loadEvent.initEvent('load', false, false);
30
31
ReactDOM.findDOMNode(iframe).dispatchEvent(loadEvent);
packages/react-dom/src/__tests__/ReactDOMInput-test.js
+175
-175
@@ -9,14 +9,14 @@
9
10
'use strict';
11
12
-var emptyFunction = require('fbjs/lib/emptyFunction');
12
+const emptyFunction = require('fbjs/lib/emptyFunction');
13
14
describe('ReactDOMInput', () => {
15
- var React;
16
- var ReactDOM;
17
- var ReactDOMServer;
18
- var ReactTestUtils;
19
- var setUntrackedValue;
15
+ let React;
16
+ let ReactDOM;
17
+ let ReactDOMServer;
18
+ let ReactTestUtils;
19
+ let setUntrackedValue;
20
21
function normalizeCodeLocInfo(str) {
22
return str && str.replace(/\(at .+?:\d+\)/g, '(at **)');
@@ -42,12 +42,12 @@ describe('ReactDOMInput', () => {
42
43
it('should properly control a value even if no event listener exists', () => {
44
spyOnDev(console, 'error');
45
- var container = document.createElement('div');
46
- var stub = ReactDOM.render(<input type="text" value="lion" />, container);
45
+ const container = document.createElement('div');
46
+ const stub = ReactDOM.render(<input type="text" value="lion" />, container);
47
48
document.body.appendChild(container);
49
50
- var node = ReactDOM.findDOMNode(stub);
50
+ const node = ReactDOM.findDOMNode(stub);
51
if (__DEV__) {
52
expect(console.error.calls.count()).toBe(1);
53
}
@@ -99,8 +99,8 @@ describe('ReactDOMInput', () => {
99
}
100
}
101
102
- var container = document.createElement('div');
103
- var instance = ReactDOM.render(<ControlledInputs />, container);
102
+ const container = document.createElement('div');
103
+ const instance = ReactDOM.render(<ControlledInputs />, container);
104
105
// We need it to be in the body to test native event dispatching.
106
document.body.appendChild(container);
@@ -152,8 +152,8 @@ describe('ReactDOMInput', () => {
152
}
153
}
154
155
- var container = document.createElement('div');
156
- var instance = ReactDOM.render(<ControlledInputs />, container);
155
+ const container = document.createElement('div');
156
+ const instance = ReactDOM.render(<ControlledInputs />, container);
157
158
// We need it to be in the body to test native event dispatching.
159
document.body.appendChild(container);
@@ -171,9 +171,9 @@ describe('ReactDOMInput', () => {
171
172
describe('switching text inputs between numeric and string numbers', () => {
173
it('does change the number 2 to "2.0" with no change handler', () => {
174
- var stub = <input type="text" value={2} onChange={jest.fn()} />;
174
+ let stub = <input type="text" value={2} onChange={jest.fn()} />;
175
stub = ReactTestUtils.renderIntoDocument(stub);
176
- var node = ReactDOM.findDOMNode(stub);
176
+ const node = ReactDOM.findDOMNode(stub);
177
178
node.value = '2.0';
179
@@ -184,9 +184,9 @@ describe('ReactDOMInput', () => {
184
});
185
186
it('does change the string "2" to "2.0" with no change handler', () => {
187
- var stub = <input type="text" value={'2'} onChange={jest.fn()} />;
187
+ let stub = <input type="text" value={'2'} onChange={jest.fn()} />;
188
stub = ReactTestUtils.renderIntoDocument(stub);
189
- var node = ReactDOM.findDOMNode(stub);
189
+ const node = ReactDOM.findDOMNode(stub);
190
191
node.value = '2.0';
192
@@ -211,8 +211,8 @@ describe('ReactDOMInput', () => {
211
}
212
}
213
214
- var stub = ReactTestUtils.renderIntoDocument(<Stub />);
215
- var node = ReactDOM.findDOMNode(stub);
214
+ const stub = ReactTestUtils.renderIntoDocument(<Stub />);
215
+ const node = ReactDOM.findDOMNode(stub);
216
217
node.value = '2.0';
218
@@ -234,8 +234,8 @@ describe('ReactDOMInput', () => {
234
}
235
}
236
237
- var stub = ReactTestUtils.renderIntoDocument(<Stub />);
238
- var node = ReactDOM.findDOMNode(stub);
237
+ const stub = ReactTestUtils.renderIntoDocument(<Stub />);
238
+ const node = ReactDOM.findDOMNode(stub);
239
stub.setState({value: '0.98'});
240
241
expect(node.value).toEqual('0.98');
@@ -276,8 +276,8 @@ describe('ReactDOMInput', () => {
276
}
277
}
278
279
- var stub = ReactTestUtils.renderIntoDocument(<Stub />);
280
- var node = ReactDOM.findDOMNode(stub);
279
+ const stub = ReactTestUtils.renderIntoDocument(<Stub />);
280
+ const node = ReactDOM.findDOMNode(stub);
281
stub.setState({value: '3'});
282
283
expect(node.value).toEqual('3');
@@ -291,9 +291,9 @@ describe('ReactDOMInput', () => {
291
});
292
293
it('should display `defaultValue` of number 0', () => {
294
- var stub = <input type="text" defaultValue={0} />;
294
+ let stub = <input type="text" defaultValue={0} />;
295
stub = ReactTestUtils.renderIntoDocument(stub);
296
- var node = ReactDOM.findDOMNode(stub);
296
+ const node = ReactDOM.findDOMNode(stub);
297
298
expect(node.getAttribute('value')).toBe('0');
299
expect(node.value).toBe('0');
@@ -306,8 +306,8 @@ describe('ReactDOMInput', () => {
306
}
307
}
308
309
- var component = ReactTestUtils.renderIntoDocument(<Test />);
310
- var node = ReactDOM.findDOMNode(component);
309
+ const component = ReactTestUtils.renderIntoDocument(<Test />);
310
+ const node = ReactDOM.findDOMNode(component);
311
312
Object.defineProperty(node, 'defaultValue', {
313
get() {
@@ -324,25 +324,25 @@ describe('ReactDOMInput', () => {
324
});
325
326
it('should display "true" for `defaultValue` of `true`', () => {
327
- var stub = <input type="text" defaultValue={true} />;
327
+ let stub = <input type="text" defaultValue={true} />;
328
stub = ReactTestUtils.renderIntoDocument(stub);
329
- var node = ReactDOM.findDOMNode(stub);
329
+ const node = ReactDOM.findDOMNode(stub);
330
331
expect(node.value).toBe('true');
332
});
333
334
it('should display "false" for `defaultValue` of `false`', () => {
335
- var stub = <input type="text" defaultValue={false} />;
335
+ let stub = <input type="text" defaultValue={false} />;
336
stub = ReactTestUtils.renderIntoDocument(stub);
337
- var node = ReactDOM.findDOMNode(stub);
337
+ const node = ReactDOM.findDOMNode(stub);
338
339
expect(node.value).toBe('false');
340
});
341
342
it('should update `defaultValue` for uncontrolled input', () => {
343
- var container = document.createElement('div');
343
+ const container = document.createElement('div');
344
345
- var node = ReactDOM.render(
345
+ const node = ReactDOM.render(
346
<input type="text" defaultValue="0" />,
347
container,
348
);
@@ -356,9 +356,9 @@ describe('ReactDOMInput', () => {
356
});
357
358
it('should update `defaultValue` for uncontrolled date/time input', () => {
359
- var container = document.createElement('div');
359
+ const container = document.createElement('div');
360
361
- var node = ReactDOM.render(
361
+ const node = ReactDOM.render(
362
<input type="date" defaultValue="1980-01-01" />,
363
container,
364
);
@@ -375,8 +375,8 @@ describe('ReactDOMInput', () => {
375
376
it('should take `defaultValue` when changing to uncontrolled input', () => {
377
spyOnDev(console, 'error');
378
- var container = document.createElement('div');
379
- var node = ReactDOM.render(
378
+ const container = document.createElement('div');
379
+ const node = ReactDOM.render(
380
<input type="text" value="0" readOnly="true" />,
381
container,
382
);
@@ -394,79 +394,79 @@ describe('ReactDOMInput', () => {
394
});
395
396
it('should render defaultValue for SSR', () => {
397
- var markup = ReactDOMServer.renderToString(
397
+ const markup = ReactDOMServer.renderToString(
398
<input type="text" defaultValue="1" />,
399
);
400
- var div = document.createElement('div');
400
+ const div = document.createElement('div');
401
div.innerHTML = markup;
402
expect(div.firstChild.getAttribute('value')).toBe('1');
403
expect(div.firstChild.getAttribute('defaultValue')).toBe(null);
404
});
405
406
it('should render value for SSR', () => {
407
- var element = <input type="text" value="1" onChange={() => {}} />;
408
- var markup = ReactDOMServer.renderToString(element);
409
- var div = document.createElement('div');
407
+ const element = <input type="text" value="1" onChange={() => {}} />;
408
+ const markup = ReactDOMServer.renderToString(element);
409
+ const div = document.createElement('div');
410
div.innerHTML = markup;
411
expect(div.firstChild.getAttribute('value')).toBe('1');
412
expect(div.firstChild.getAttribute('defaultValue')).toBe(null);
413
});
414
415
it('should render name attribute if it is supplied', () => {
416
- var container = document.createElement('div');
417
- var node = ReactDOM.render(<input type="text" name="name" />, container);
416
+ const container = document.createElement('div');
417
+ const node = ReactDOM.render(<input type="text" name="name" />, container);
418
expect(node.name).toBe('name');
419
expect(container.firstChild.getAttribute('name')).toBe('name');
420
});
421
422
it('should render name attribute if it is supplied for SSR', () => {
423
- var element = <input type="text" name="name" />;
424
- var markup = ReactDOMServer.renderToString(element);
425
- var div = document.createElement('div');
423
+ const element = <input type="text" name="name" />;
424
+ const markup = ReactDOMServer.renderToString(element);
425
+ const div = document.createElement('div');
426
div.innerHTML = markup;
427
expect(div.firstChild.getAttribute('name')).toBe('name');
428
});
429
430
it('should not render name attribute if it is not supplied', () => {
431
- var container = document.createElement('div');
431
+ const container = document.createElement('div');
432
ReactDOM.render(<input type="text" />, container);
433
expect(container.firstChild.getAttribute('name')).toBe(null);
434
});
435
436
it('should not render name attribute if it is not supplied for SSR', () => {
437
- var element = <input type="text" />;
438
- var markup = ReactDOMServer.renderToString(element);
439
- var div = document.createElement('div');
437
+ const element = <input type="text" />;
438
+ const markup = ReactDOMServer.renderToString(element);
439
+ const div = document.createElement('div');
440
div.innerHTML = markup;
441
expect(div.firstChild.getAttribute('name')).toBe(null);
442
});
443
444
it('should display "foobar" for `defaultValue` of `objToString`', () => {
445
- var objToString = {
445
+ const objToString = {
446
toString: function() {
447
return 'foobar';
448
},
449
};
450
451
- var stub = <input type="text" defaultValue={objToString} />;
451
+ let stub = <input type="text" defaultValue={objToString} />;
452
stub = ReactTestUtils.renderIntoDocument(stub);
453
- var node = ReactDOM.findDOMNode(stub);
453
+ const node = ReactDOM.findDOMNode(stub);
454
455
expect(node.value).toBe('foobar');
456
});
457
458
it('should display `value` of number 0', () => {
459
- var stub = <input type="text" value={0} />;
459
+ let stub = <input type="text" value={0} />;
460
stub = ReactTestUtils.renderIntoDocument(stub);
461
- var node = ReactDOM.findDOMNode(stub);
461
+ const node = ReactDOM.findDOMNode(stub);
462
463
expect(node.value).toBe('0');
464
});
465
466
it('should allow setting `value` to `true`', () => {
467
- var container = document.createElement('div');
468
- var stub = <input type="text" value="yolo" onChange={emptyFunction} />;
469
- var node = ReactDOM.render(stub, container);
467
+ const container = document.createElement('div');
468
+ let stub = <input type="text" value="yolo" onChange={emptyFunction} />;
469
+ const node = ReactDOM.render(stub, container);
470
471
expect(node.value).toBe('yolo');
472
@@ -478,9 +478,9 @@ describe('ReactDOMInput', () => {
478
});
479
480
it('should allow setting `value` to `false`', () => {
481
- var container = document.createElement('div');
482
- var stub = <input type="text" value="yolo" onChange={emptyFunction} />;
483
- var node = ReactDOM.render(stub, container);
481
+ const container = document.createElement('div');
482
+ let stub = <input type="text" value="yolo" onChange={emptyFunction} />;
483
+ const node = ReactDOM.render(stub, container);
484
485
expect(node.value).toBe('yolo');
486
@@ -492,13 +492,13 @@ describe('ReactDOMInput', () => {
492
});
493
494
it('should allow setting `value` to `objToString`', () => {
495
- var container = document.createElement('div');
496
- var stub = <input type="text" value="foo" onChange={emptyFunction} />;
497
- var node = ReactDOM.render(stub, container);
495
+ const container = document.createElement('div');
496
+ let stub = <input type="text" value="foo" onChange={emptyFunction} />;
497
+ const node = ReactDOM.render(stub, container);
498
499
expect(node.value).toBe('foo');
500
501
- var objToString = {
501
+ const objToString = {
502
toString: function() {
503
return 'foobar';
504
},
@@ -511,12 +511,12 @@ describe('ReactDOMInput', () => {
511
});
512
513
it('should not incur unnecessary DOM mutations', () => {
514
- var container = document.createElement('div');
514
+ const container = document.createElement('div');
515
ReactDOM.render(<input value="a" onChange={() => {}} />, container);
516
517
- var node = container.firstChild;
518
- var nodeValue = 'a';
519
- var nodeValueSetter = jest.genMockFn();
517
+ const node = container.firstChild;
518
+ let nodeValue = 'a';
519
+ const nodeValueSetter = jest.genMockFn();
520
Object.defineProperty(node, 'value', {
521
get: function() {
522
return nodeValue;
@@ -534,12 +534,12 @@ describe('ReactDOMInput', () => {
534
});
535
536
it('should not incur unnecessary DOM mutations for numeric type conversion', () => {
537
- var container = document.createElement('div');
537
+ const container = document.createElement('div');
538
ReactDOM.render(<input value="0" onChange={() => {}} />, container);
539
540
- var node = container.firstChild;
541
- var nodeValue = '0';
542
- var nodeValueSetter = jest.genMockFn();
540
+ const node = container.firstChild;
541
+ let nodeValue = '0';
542
+ const nodeValueSetter = jest.genMockFn();
543
Object.defineProperty(node, 'value', {
544
get: function() {
545
return nodeValue;
@@ -554,12 +554,12 @@ describe('ReactDOMInput', () => {
554
});
555
556
it('should not incur unnecessary DOM mutations for the boolean type conversion', () => {
557
- var container = document.createElement('div');
557
+ const container = document.createElement('div');
558
ReactDOM.render(<input value="true" onChange={() => {}} />, container);
559
560
- var node = container.firstChild;
561
- var nodeValue = 'true';
562
- var nodeValueSetter = jest.genMockFn();
560
+ const node = container.firstChild;
561
+ let nodeValue = 'true';
562
+ const nodeValueSetter = jest.genMockFn();
563
Object.defineProperty(node, 'value', {
564
get: function() {
565
return nodeValue;
@@ -574,9 +574,9 @@ describe('ReactDOMInput', () => {
574
});
575
576
it('should properly control a value of number `0`', () => {
577
- var stub = <input type="text" value={0} onChange={emptyFunction} />;
577
+ let stub = <input type="text" value={0} onChange={emptyFunction} />;
578
stub = ReactTestUtils.renderIntoDocument(stub);
579
- var node = ReactDOM.findDOMNode(stub);
579
+ const node = ReactDOM.findDOMNode(stub);
580
581
node.value = 'giraffe';
582
ReactTestUtils.Simulate.change(node);
@@ -584,9 +584,9 @@ describe('ReactDOMInput', () => {
584
});
585
586
it('should properly control 0.0 for a text input', () => {
587
- var stub = <input type="text" value={0} onChange={emptyFunction} />;
587
+ let stub = <input type="text" value={0} onChange={emptyFunction} />;
588
stub = ReactTestUtils.renderIntoDocument(stub);
589
- var node = ReactDOM.findDOMNode(stub);
589
+ const node = ReactDOM.findDOMNode(stub);
590
591
node.value = '0.0';
592
ReactTestUtils.Simulate.change(node, {target: {value: '0.0'}});
@@ -594,9 +594,9 @@ describe('ReactDOMInput', () => {
594
});
595
596
it('should properly control 0.0 for a number input', () => {
597
- var stub = <input type="number" value={0} onChange={emptyFunction} />;
597
+ let stub = <input type="number" value={0} onChange={emptyFunction} />;
598
stub = ReactTestUtils.renderIntoDocument(stub);
599
- var node = ReactDOM.findDOMNode(stub);
599
+ const node = ReactDOM.findDOMNode(stub);
600
601
node.value = '0.0';
602
ReactTestUtils.Simulate.change(node, {target: {value: '0.0'}});
@@ -604,24 +604,24 @@ describe('ReactDOMInput', () => {
604
});
605
606
it('should properly transition from an empty value to 0', function() {
607
- var container = document.createElement('div');
607
+ const container = document.createElement('div');
608
609
ReactDOM.render(<input type="text" value="" />, container);
610
ReactDOM.render(<input type="text" value={0} />, container);
611
612
- var node = container.firstChild;
612
+ const node = container.firstChild;
613
614
expect(node.value).toBe('0');
615
expect(node.defaultValue).toBe('0');
616
});
617
618
it('should properly transition from 0 to an empty value', function() {
619
- var container = document.createElement('div');
619
+ const container = document.createElement('div');
620
621
ReactDOM.render(<input type="text" value={0} />, container);
622
ReactDOM.render(<input type="text" value="" />, container);
623
624
- var node = container.firstChild;
624
+ const node = container.firstChild;
625
626
expect(node.value).toBe('');
627
expect(node.defaultValue).toBe('');
@@ -664,18 +664,18 @@ describe('ReactDOMInput', () => {
664
});
665
666
it('should have the correct target value', () => {
667
- var handled = false;
668
- var handler = function(event) {
667
+ let handled = false;
668
+ const handler = function(event) {
669
expect(event.target.nodeName).toBe('INPUT');
670
handled = true;
671
};
672
- var stub = <input type="text" value={0} onChange={handler} />;
673
- var container = document.createElement('div');
674
- var node = ReactDOM.render(stub, container);
672
+ const stub = <input type="text" value={0} onChange={handler} />;
673
+ const container = document.createElement('div');
674
+ const node = ReactDOM.render(stub, container);
675
676
setUntrackedValue.call(node, 'giraffe');
677
678
- var fakeNativeEvent = function() {};
678
+ const fakeNativeEvent = function() {};
679
fakeNativeEvent.target = node;
680
fakeNativeEvent.path = [node, container];
681
ReactTestUtils.simulateNativeEventOnNode('topInput', node, fakeNativeEvent);
@@ -684,9 +684,9 @@ describe('ReactDOMInput', () => {
684
});
685
686
it('should not set a value for submit buttons unnecessarily', () => {
687
- var stub = <input type="submit" />;
687
+ let stub = <input type="submit" />;
688
stub = ReactTestUtils.renderIntoDocument(stub);
689
- var node = ReactDOM.findDOMNode(stub);
689
+ const node = ReactDOM.findDOMNode(stub);
690
691
// The value shouldn't be '', or else the button will have no text; it
692
// should have the default "Submit" or "Submit Query" label. Most browsers
@@ -726,10 +726,10 @@ describe('ReactDOMInput', () => {
726
}
727
}
728
729
- var stub = ReactTestUtils.renderIntoDocument(<RadioGroup />);
730
- var aNode = stub.refs.a;
731
- var bNode = stub.refs.b;
732
- var cNode = stub.refs.c;
729
+ const stub = ReactTestUtils.renderIntoDocument(<RadioGroup />);
730
+ const aNode = stub.refs.a;
731
+ const bNode = stub.refs.b;
732
+ const cNode = stub.refs.c;
733
734
expect(aNode.checked).toBe(true);
735
expect(bNode.checked).toBe(false);
@@ -782,23 +782,23 @@ describe('ReactDOMInput', () => {
782
}
783
}
784
785
- var stub = ReactTestUtils.renderIntoDocument(<App />);
786
- var buttonNode = ReactDOM.findDOMNode(stub).childNodes[0];
787
- var firstRadioNode = ReactDOM.findDOMNode(stub).childNodes[1];
785
+ const stub = ReactTestUtils.renderIntoDocument(<App />);
786
+ const buttonNode = ReactDOM.findDOMNode(stub).childNodes[0];
787
+ const firstRadioNode = ReactDOM.findDOMNode(stub).childNodes[1];
788
expect(firstRadioNode.checked).toBe(false);
789
ReactTestUtils.Simulate.click(buttonNode);
790
expect(firstRadioNode.checked).toBe(true);
791
});
792
793
it('should control radio buttons if the tree updates during render', () => {
794
- var sharedParent = document.createElement('div');
795
- var container1 = document.createElement('div');
796
- var container2 = document.createElement('div');
794
+ const sharedParent = document.createElement('div');
795
+ const container1 = document.createElement('div');
796
+ const container2 = document.createElement('div');
797
798
sharedParent.appendChild(container1);
799
800
- var aNode;
801
- var bNode;
800
+ let aNode;
801
+ let bNode;
802
class ComponentA extends React.Component {
803
componentDidMount() {
804
ReactDOM.render(<ComponentB />, container2);
@@ -889,11 +889,11 @@ describe('ReactDOMInput', () => {
889
});
890
891
it('should have a this value of undefined if bind is not used', () => {
892
- var unboundInputOnChange = function() {
892
+ const unboundInputOnChange = function() {
893
expect(this).toBe(undefined);
894
};
895
896
- var instance = <input type="text" onChange={unboundInputOnChange} />;
896
+ let instance = <input type="text" onChange={unboundInputOnChange} />;
897
instance = ReactTestUtils.renderIntoDocument(instance);
898
899
ReactTestUtils.Simulate.change(instance);
@@ -917,7 +917,7 @@ describe('ReactDOMInput', () => {
917
});
918
919
it('should update defaultValue to empty string', () => {
920
- var container = document.createElement('div');
920
+ const container = document.createElement('div');
921
ReactDOM.render(<input type="text" defaultValue={'foo'} />, container);
922
ReactDOM.render(<input type="text" defaultValue={''} />, container);
923
expect(container.firstChild.defaultValue).toBe('');
@@ -1000,10 +1000,10 @@ describe('ReactDOMInput', () => {
1000
1001
it('should warn if controlled input switches to uncontrolled (value is undefined)', () => {
1002
spyOnDev(console, 'error');
1003
- var stub = (
1003
+ const stub = (
1004
<input type="text" value="controlled" onChange={emptyFunction} />
1005
);
1006
- var container = document.createElement('div');
1006
+ const container = document.createElement('div');
1007
ReactDOM.render(stub, container);
1008
ReactDOM.render(<input type="text" />, container);
1009
if (__DEV__) {
@@ -1020,10 +1020,10 @@ describe('ReactDOMInput', () => {
1020
1021
it('should warn if controlled input switches to uncontrolled (value is null)', () => {
1022
spyOnDev(console, 'error');
1023
- var stub = (
1023
+ const stub = (
1024
<input type="text" value="controlled" onChange={emptyFunction} />
1025
);
1026
- var container = document.createElement('div');
1026
+ const container = document.createElement('div');
1027
ReactDOM.render(stub, container);
1028
ReactDOM.render(<input type="text" value={null} />, container);
1029
if (__DEV__) {
@@ -1040,10 +1040,10 @@ describe('ReactDOMInput', () => {
1040
1041
it('should warn if controlled input switches to uncontrolled with defaultValue', () => {
1042
spyOnDev(console, 'error');
1043
- var stub = (
1043
+ const stub = (
1044
<input type="text" value="controlled" onChange={emptyFunction} />
1045
);
1046
- var container = document.createElement('div');
1046
+ const container = document.createElement('div');
1047
ReactDOM.render(stub, container);
1048
ReactDOM.render(
1049
<input type="text" defaultValue="uncontrolled" />,
@@ -1063,8 +1063,8 @@ describe('ReactDOMInput', () => {
1063
1064
it('should warn if uncontrolled input (value is undefined) switches to controlled', () => {
1065
spyOnDev(console, 'error');
1066
- var stub = <input type="text" />;
1067
- var container = document.createElement('div');
1066
+ const stub = <input type="text" />;
1067
+ const container = document.createElement('div');
1068
ReactDOM.render(stub, container);
1069
ReactDOM.render(<input type="text" value="controlled" />, container);
1070
if (__DEV__) {
@@ -1081,8 +1081,8 @@ describe('ReactDOMInput', () => {
1081
1082
it('should warn if uncontrolled input (value is null) switches to controlled', () => {
1083
spyOnDev(console, 'error');
1084
- var stub = <input type="text" value={null} />;
1085
- var container = document.createElement('div');
1084
+ const stub = <input type="text" value={null} />;
1085
+ const container = document.createElement('div');
1086
ReactDOM.render(stub, container);
1087
ReactDOM.render(<input type="text" value="controlled" />, container);
1088
if (__DEV__) {
@@ -1099,10 +1099,10 @@ describe('ReactDOMInput', () => {
1099
1100
it('should warn if controlled checkbox switches to uncontrolled (checked is undefined)', () => {
1101
spyOnDev(console, 'error');
1102
- var stub = (
1102
+ const stub = (
1103
<input type="checkbox" checked={true} onChange={emptyFunction} />
1104
);
1105
- var container = document.createElement('div');
1105
+ const container = document.createElement('div');
1106
ReactDOM.render(stub, container);
1107
ReactDOM.render(<input type="checkbox" />, container);
1108
if (__DEV__) {
@@ -1119,10 +1119,10 @@ describe('ReactDOMInput', () => {
1119
1120
it('should warn if controlled checkbox switches to uncontrolled (checked is null)', () => {
1121
spyOnDev(console, 'error');
1122
- var stub = (
1122
+ const stub = (
1123
<input type="checkbox" checked={true} onChange={emptyFunction} />
1124
);
1125
- var container = document.createElement('div');
1125
+ const container = document.createElement('div');
1126
ReactDOM.render(stub, container);
1127
ReactDOM.render(<input type="checkbox" checked={null} />, container);
1128
if (__DEV__) {
@@ -1139,10 +1139,10 @@ describe('ReactDOMInput', () => {
1139
1140
it('should warn if controlled checkbox switches to uncontrolled with defaultChecked', () => {
1141
spyOnDev(console, 'error');
1142
- var stub = (
1142
+ const stub = (
1143
<input type="checkbox" checked={true} onChange={emptyFunction} />
1144
);
1145
- var container = document.createElement('div');
1145
+ const container = document.createElement('div');
1146
ReactDOM.render(stub, container);
1147
ReactDOM.render(<input type="checkbox" defaultChecked={true} />, container);
1148
if (__DEV__) {
@@ -1159,8 +1159,8 @@ describe('ReactDOMInput', () => {
1159
1160
it('should warn if uncontrolled checkbox (checked is undefined) switches to controlled', () => {
1161
spyOnDev(console, 'error');
1162
- var stub = <input type="checkbox" />;
1163
- var container = document.createElement('div');
1162
+ const stub = <input type="checkbox" />;
1163
+ const container = document.createElement('div');
1164
ReactDOM.render(stub, container);
1165
ReactDOM.render(<input type="checkbox" checked={true} />, container);
1166
if (__DEV__) {
@@ -1177,8 +1177,8 @@ describe('ReactDOMInput', () => {
1177
1178
it('should warn if uncontrolled checkbox (checked is null) switches to controlled', () => {
1179
spyOnDev(console, 'error');
1180
- var stub = <input type="checkbox" checked={null} />;
1181
- var container = document.createElement('div');
1180
+ const stub = <input type="checkbox" checked={null} />;
1181
+ const container = document.createElement('div');
1182
ReactDOM.render(stub, container);
1183
ReactDOM.render(<input type="checkbox" checked={true} />, container);
1184
if (__DEV__) {
@@ -1195,8 +1195,8 @@ describe('ReactDOMInput', () => {
1195
1196
it('should warn if controlled radio switches to uncontrolled (checked is undefined)', () => {
1197
spyOnDev(console, 'error');
1198
- var stub = <input type="radio" checked={true} onChange={emptyFunction} />;
1199
- var container = document.createElement('div');
1198
+ const stub = <input type="radio" checked={true} onChange={emptyFunction} />;
1199
+ const container = document.createElement('div');
1200
ReactDOM.render(stub, container);
1201
ReactDOM.render(<input type="radio" />, container);
1202
if (__DEV__) {
@@ -1213,8 +1213,8 @@ describe('ReactDOMInput', () => {
1213
1214
it('should warn if controlled radio switches to uncontrolled (checked is null)', () => {
1215
spyOnDev(console, 'error');
1216
- var stub = <input type="radio" checked={true} onChange={emptyFunction} />;
1217
- var container = document.createElement('div');
1216
+ const stub = <input type="radio" checked={true} onChange={emptyFunction} />;
1217
+ const container = document.createElement('div');
1218
ReactDOM.render(stub, container);
1219
ReactDOM.render(<input type="radio" checked={null} />, container);
1220
if (__DEV__) {
@@ -1231,8 +1231,8 @@ describe('ReactDOMInput', () => {
1231
1232
it('should warn if controlled radio switches to uncontrolled with defaultChecked', () => {
1233
spyOnDev(console, 'error');
1234
- var stub = <input type="radio" checked={true} onChange={emptyFunction} />;
1235
- var container = document.createElement('div');
1234
+ const stub = <input type="radio" checked={true} onChange={emptyFunction} />;
1235
+ const container = document.createElement('div');
1236
ReactDOM.render(stub, container);
1237
ReactDOM.render(<input type="radio" defaultChecked={true} />, container);
1238
if (__DEV__) {
@@ -1249,8 +1249,8 @@ describe('ReactDOMInput', () => {
1249
1250
it('should warn if uncontrolled radio (checked is undefined) switches to controlled', () => {
1251
spyOnDev(console, 'error');
1252
- var stub = <input type="radio" />;
1253
- var container = document.createElement('div');
1252
+ const stub = <input type="radio" />;
1253
+ const container = document.createElement('div');
1254
ReactDOM.render(stub, container);
1255
ReactDOM.render(<input type="radio" checked={true} />, container);
1256
if (__DEV__) {
@@ -1267,8 +1267,8 @@ describe('ReactDOMInput', () => {
1267
1268
it('should warn if uncontrolled radio (checked is null) switches to controlled', () => {
1269
spyOnDev(console, 'error');
1270
- var stub = <input type="radio" checked={null} />;
1271
- var container = document.createElement('div');
1270
+ const stub = <input type="radio" checked={null} />;
1271
+ const container = document.createElement('div');
1272
ReactDOM.render(stub, container);
1273
ReactDOM.render(<input type="radio" checked={true} />, container);
1274
if (__DEV__) {
@@ -1284,7 +1284,7 @@ describe('ReactDOMInput', () => {
1284
});
1285
1286
it('should not warn if radio value changes but never becomes controlled', () => {
1287
- var container = document.createElement('div');
1287
+ const container = document.createElement('div');
1288
ReactDOM.render(<input type="radio" value="value" />, container);
1289
ReactDOM.render(<input type="radio" />, container);
1290
ReactDOM.render(
@@ -1299,7 +1299,7 @@ describe('ReactDOMInput', () => {
1299
});
1300
1301
it('should not warn if radio value changes but never becomes uncontrolled', () => {
1302
- var container = document.createElement('div');
1302
+ const container = document.createElement('div');
1303
ReactDOM.render(
1304
<input type="radio" checked={false} onChange={() => null} />,
1305
container,
@@ -1318,7 +1318,7 @@ describe('ReactDOMInput', () => {
1318
1319
it('should warn if radio checked false changes to become uncontrolled', () => {
1320
spyOnDev(console, 'error');
1321
- var container = document.createElement('div');
1321
+ const container = document.createElement('div');
1322
ReactDOM.render(
1323
<input
1324
type="radio"
@@ -1341,11 +1341,11 @@ describe('ReactDOMInput', () => {
1341
});
1342
1343
it('sets type, step, min, max before value always', () => {
1344
- var log = [];
1345
- var originalCreateElement = document.createElement;
1344
+ const log = [];
1345
+ const originalCreateElement = document.createElement;
1346
spyOnDevAndProd(document, 'createElement').and.callFake(function(type) {
1347
- var el = originalCreateElement.apply(this, arguments);
1348
- var value = '';
1347
+ const el = originalCreateElement.apply(this, arguments);
1348
+ let value = '';
1349
1350
if (type === 'input') {
1351
Object.defineProperty(el, 'value', {
@@ -1387,7 +1387,7 @@ describe('ReactDOMInput', () => {
1387
});
1388
1389
it('sets value properly with type coming later in props', () => {
1390
- var input = ReactTestUtils.renderIntoDocument(
1390
+ const input = ReactTestUtils.renderIntoDocument(
1391
<input value="hi" type="radio" />,
1392
);
1393
expect(input.value).toBe('hi');
@@ -1398,13 +1398,13 @@ describe('ReactDOMInput', () => {
1398
state = {type: 'number', value: 1000};
1399
1400
render() {
1401
- var {value, type} = this.state;
1401
+ const {value, type} = this.state;
1402
return <input onChange={() => {}} type={type} value={value} />;
1403
}
1404
}
1405
1406
- var input = ReactTestUtils.renderIntoDocument(<Input />);
1407
- var node = ReactDOM.findDOMNode(input);
1406
+ const input = ReactTestUtils.renderIntoDocument(<Input />);
1407
+ const node = ReactDOM.findDOMNode(input);
1408
1409
// If the value is set before the type, a validation warning will raise and
1410
// the value will not be assigned.
@@ -1417,11 +1417,11 @@ describe('ReactDOMInput', () => {
1417
return JSON.stringify(x, null, 2);
1418
}
1419
1420
- var log = [];
1421
- var originalCreateElement = document.createElement;
1420
+ const log = [];
1421
+ const originalCreateElement = document.createElement;
1422
spyOnDevAndProd(document, 'createElement').and.callFake(function(type) {
1423
- var el = originalCreateElement.apply(this, arguments);
1424
- var value = '';
1423
+ const el = originalCreateElement.apply(this, arguments);
1424
+ let value = '';
1425
if (type === 'input') {
1426
Object.defineProperty(el, 'value', {
1427
get: function() {
@@ -1461,8 +1461,8 @@ describe('ReactDOMInput', () => {
1461
this.setState({value: event.target.value});
1462
};
1463
render() {
1464
- var type = this.props.type;
1465
- var value = this.state.value;
1464
+ const type = this.props.type;
1465
+ const value = this.state.value;
1466
1467
return <input type={type} value={value} onChange={this.onChange} />;
1468
}
@@ -1470,9 +1470,9 @@ describe('ReactDOMInput', () => {
1470
}
1471
1472
it('always sets the attribute when values change on text inputs', function() {
1473
- var Input = getTestInput();
1474
- var stub = ReactTestUtils.renderIntoDocument(<Input type="text" />);
1475
- var node = ReactDOM.findDOMNode(stub);
1473
+ const Input = getTestInput();
1474
+ const stub = ReactTestUtils.renderIntoDocument(<Input type="text" />);
1475
+ const node = ReactDOM.findDOMNode(stub);
1476
1477
ReactTestUtils.Simulate.change(node, {target: {value: '2'}});
1478
@@ -1480,11 +1480,11 @@ describe('ReactDOMInput', () => {
1480
});
1481
1482
it('does not set the value attribute on number inputs if focused', () => {
1483
- var Input = getTestInput();
1484
- var stub = ReactTestUtils.renderIntoDocument(
1483
+ const Input = getTestInput();
1484
+ const stub = ReactTestUtils.renderIntoDocument(
1485
<Input type="number" value="1" />,
1486
);
1487
- var node = ReactDOM.findDOMNode(stub);
1487
+ const node = ReactDOM.findDOMNode(stub);
1488
1489
node.focus();
1490
@@ -1494,11 +1494,11 @@ describe('ReactDOMInput', () => {
1494
});
1495
1496
it('sets the value attribute on number inputs on blur', () => {
1497
- var Input = getTestInput();
1498
- var stub = ReactTestUtils.renderIntoDocument(
1497
+ const Input = getTestInput();
1498
+ const stub = ReactTestUtils.renderIntoDocument(
1499
<Input type="number" value="1" />,
1500
);
1501
- var node = ReactDOM.findDOMNode(stub);
1501
+ const node = ReactDOM.findDOMNode(stub);
1502
1503
ReactTestUtils.Simulate.change(node, {target: {value: '2'}});
1504
ReactTestUtils.SimulateNative.blur(node);
@@ -1507,10 +1507,10 @@ describe('ReactDOMInput', () => {
1507
});
1508
1509
it('an uncontrolled number input will not update the value attribute on blur', () => {
1510
- var stub = ReactTestUtils.renderIntoDocument(
1510
+ const stub = ReactTestUtils.renderIntoDocument(
1511
<input type="number" defaultValue="1" />,
1512
);
1513
- var node = ReactDOM.findDOMNode(stub);
1513
+ const node = ReactDOM.findDOMNode(stub);
1514
1515
node.value = 4;
1516
@@ -1520,10 +1520,10 @@ describe('ReactDOMInput', () => {
1520
});
1521
1522
it('an uncontrolled text input will not update the value attribute on blur', () => {
1523
- var stub = ReactTestUtils.renderIntoDocument(
1523
+ const stub = ReactTestUtils.renderIntoDocument(
1524
<input type="text" defaultValue="1" />,
1525
);
1526
- var node = ReactDOM.findDOMNode(stub);
1526
+ const node = ReactDOM.findDOMNode(stub);
1527
1528
node.value = 4;
1529
@@ -1534,7 +1534,7 @@ describe('ReactDOMInput', () => {
1534
});
1535
1536
describe('setting a controlled input to undefined', () => {
1537
- var input;
1537
+ let input;
1538
1539
function renderInputWithStringThenWithUndefined() {
1540
class Input extends React.Component {
@@ -1549,7 +1549,7 @@ describe('ReactDOMInput', () => {
1549
}
1550
}
1551
1552
- var stub = ReactTestUtils.renderIntoDocument(<Input />);
1552
+ const stub = ReactTestUtils.renderIntoDocument(<Input />);
1553
input = ReactDOM.findDOMNode(stub);
1554
ReactTestUtils.Simulate.change(input, {target: {value: 'latest'}});
1555
ReactTestUtils.Simulate.change(input, {target: {value: undefined}});
@@ -1583,7 +1583,7 @@ describe('ReactDOMInput', () => {
1583
});
1584
1585
describe('setting a controlled input to null', () => {
1586
- var input;
1586
+ let input;
1587
1588
function renderInputWithStringThenWithNull() {
1589
class Input extends React.Component {
@@ -1598,7 +1598,7 @@ describe('ReactDOMInput', () => {
1598
}
1599
}
1600
1601
- var stub = ReactTestUtils.renderIntoDocument(<Input />);
1601
+ const stub = ReactTestUtils.renderIntoDocument(<Input />);
1602
input = ReactDOM.findDOMNode(stub);
1603
ReactTestUtils.Simulate.change(input, {target: {value: 'latest'}});
1604
ReactTestUtils.Simulate.change(input, {target: {value: null}});
packages/react-dom/src/__tests__/ReactDOMInvalidARIAHook-test.js
+3
-3
@@ -10,9 +10,9 @@
10
'use strict';
11
12
describe('ReactDOMInvalidARIAHook', () => {
13
- var React;
14
- var ReactTestUtils;
15
- var mountComponent;
13
+ let React;
14
+ let ReactTestUtils;
15
+ let mountComponent;
16
17
beforeEach(() => {
18
jest.resetModules();
packages/react-dom/src/__tests__/ReactDOMOption-test.js
+18
-18
@@ -14,9 +14,9 @@ describe('ReactDOMOption', () => {
14
return str && str.replace(/\(at .+?:\d+\)/g, '(at **)');
15
}
16
17
- var React;
18
- var ReactDOM;
19
- var ReactTestUtils;
17
+ let React;
18
+ let ReactDOM;
19
+ let ReactTestUtils;
20
21
beforeEach(() => {
22
React = require('react');
@@ -25,25 +25,25 @@ describe('ReactDOMOption', () => {
25
});
26
27
it('should flatten children to a string', () => {
28
- var stub = (
28
+ let stub = (
29
<option>
30
{1} {'foo'}
31
</option>
32
);
33
stub = ReactTestUtils.renderIntoDocument(stub);
34
- var node = ReactDOM.findDOMNode(stub);
34
+ const node = ReactDOM.findDOMNode(stub);
35
36
expect(node.innerHTML).toBe('1 foo');
37
});
38
39
it('should ignore and warn invalid children types', () => {
40
spyOnDev(console, 'error');
41
- var el = (
41
+ const el = (
42
<option>
43
{1} <div /> {2}
44
</option>
45
);
46
- var node = ReactTestUtils.renderIntoDocument(el);
46
+ const node = ReactTestUtils.renderIntoDocument(el);
47
expect(node.innerHTML).toBe('1 2');
48
ReactTestUtils.renderIntoDocument(el);
49
if (__DEV__) {
@@ -58,7 +58,7 @@ describe('ReactDOMOption', () => {
58
});
59
60
it('should ignore null/undefined/false children without warning', () => {
61
- var stub = (
61
+ let stub = (
62
<option>
63
{1} {false}
64
{true}
@@ -69,7 +69,7 @@ describe('ReactDOMOption', () => {
69
spyOnDev(console, 'error');
70
stub = ReactTestUtils.renderIntoDocument(stub);
71
72
- var node = ReactDOM.findDOMNode(stub);
72
+ const node = ReactDOM.findDOMNode(stub);
73
74
if (__DEV__) {
75
expect(console.error.calls.count()).toBe(0);
@@ -78,16 +78,16 @@ describe('ReactDOMOption', () => {
78
});
79
80
it('should be able to use dangerouslySetInnerHTML on option', () => {
81
- var stub = <option dangerouslySetInnerHTML={{__html: 'foobar'}} />;
81
+ let stub = <option dangerouslySetInnerHTML={{__html: 'foobar'}} />;
82
stub = ReactTestUtils.renderIntoDocument(stub);
83
84
- var node = ReactDOM.findDOMNode(stub);
84
+ const node = ReactDOM.findDOMNode(stub);
85
expect(node.innerHTML).toBe('foobar');
86
});
87
88
it('should set attribute for empty value', () => {
89
- var container = document.createElement('div');
90
- var option = ReactDOM.render(<option value="" />, container);
89
+ const container = document.createElement('div');
90
+ const option = ReactDOM.render(<option value="" />, container);
91
expect(option.hasAttribute('value')).toBe(true);
92
expect(option.getAttribute('value')).toBe('');
93
@@ -97,18 +97,18 @@ describe('ReactDOMOption', () => {
97
});
98
99
it('should allow ignoring `value` on option', () => {
100
- var a = 'a';
101
- var stub = (
100
+ const a = 'a';
101
+ let stub = (
102
<select value="giraffe" onChange={() => {}}>
103
<option>monkey</option>
104
<option>gir{a}ffe</option>
105
<option>gorill{a}</option>
106
</select>
107
);
108
- var options = stub.props.children;
109
- var container = document.createElement('div');
108
+ const options = stub.props.children;
109
+ const container = document.createElement('div');
110
stub = ReactDOM.render(stub, container);
111
- var node = ReactDOM.findDOMNode(stub);
111
+ const node = ReactDOM.findDOMNode(stub);
112
113
expect(node.selectedIndex).toBe(1);
114
packages/react-dom/src/__tests__/ReactDOMRoot-test.internal.js
+5
-5
@@ -9,10 +9,10 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var ReactDOM = require('react-dom');
14
-var ReactDOMServer = require('react-dom/server');
15
-var AsyncComponent = React.unstable_AsyncComponent;
12
+let React = require('react');
13
+let ReactDOM = require('react-dom');
14
+let ReactDOMServer = require('react-dom/server');
15
+let AsyncComponent = React.unstable_AsyncComponent;
16
17
describe('ReactDOMRoot', () => {
18
let container;
@@ -29,7 +29,7 @@ describe('ReactDOMRoot', () => {
29
scheduledCallback = null;
30
flush = function(units = Infinity) {
31
if (scheduledCallback !== null) {
32
- var didStop = false;
32
+ let didStop = false;
33
while (scheduledCallback !== null && !didStop) {
34
const cb = scheduledCallback;
35
scheduledCallback = null;
packages/react-dom/src/__tests__/ReactDOMSVG-test.js
+17
-14
@@ -9,9 +9,9 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactDOMServer;
12
+let React;
13
+let ReactDOM;
14
+let ReactDOMServer;
15
16
describe('ReactDOMSVG', () => {
17
beforeEach(() => {
@@ -21,7 +21,7 @@ describe('ReactDOMSVG', () => {
21
});
22
23
it('creates initial namespaced markup', () => {
24
- var markup = ReactDOMServer.renderToString(
24
+ const markup = ReactDOMServer.renderToString(
25
<svg>
26
<image xlinkHref="http://i.imgur.com/w7GCRPb.png" />
27
</svg>,
@@ -30,8 +30,8 @@ describe('ReactDOMSVG', () => {
30
});
31
32
it('creates elements with SVG namespace inside SVG tag during mount', () => {
33
- var node = document.createElement('div');
34
- var div,
33
+ const node = document.createElement('div');
34
+ let div,
35
div2,
36
div3,
37
foreignObject,
@@ -111,7 +111,7 @@ describe('ReactDOMSVG', () => {
111
});
112
113
it('creates elements with SVG namespace inside SVG tag during update', () => {
114
- var inst,
114
+ let inst,
115
div,
116
div2,
117
foreignObject,
@@ -158,7 +158,7 @@ describe('ReactDOMSVG', () => {
158
}
159
}
160
161
- var node = document.createElement('div');
161
+ const node = document.createElement('div');
162
ReactDOM.render(
163
<svg ref={el => (svg = el)}>
164
<App />
@@ -194,29 +194,32 @@ describe('ReactDOMSVG', () => {
194
});
195
196
it('can render SVG into a non-React SVG tree', () => {
197
- var outerSVGRoot = document.createElementNS(
197
+ const outerSVGRoot = document.createElementNS(
198
'http://www.w3.org/2000/svg',
199
'svg',
200
);
201
- var container = document.createElementNS('http://www.w3.org/2000/svg', 'g');
201
+ const container = document.createElementNS(
202
+ 'http://www.w3.org/2000/svg',
203
+ 'g',
204
+ );
205
outerSVGRoot.appendChild(container);
203
- var image;
206
+ let image;
207
ReactDOM.render(<image ref={el => (image = el)} />, container);
208
expect(image.namespaceURI).toBe('http://www.w3.org/2000/svg');
209
expect(image.tagName).toBe('image');
210
});
211
212
it('can render HTML into a foreignObject in non-React SVG tree', () => {
210
- var outerSVGRoot = document.createElementNS(
213
+ const outerSVGRoot = document.createElementNS(
214
'http://www.w3.org/2000/svg',
215
'svg',
216
);
214
- var container = document.createElementNS(
217
+ const container = document.createElementNS(
218
'http://www.w3.org/2000/svg',
219
'foreignObject',
220
);
221
outerSVGRoot.appendChild(container);
219
- var div;
222
+ let div;
223
ReactDOM.render(<div ref={el => (div = el)} />, container);
224
expect(div.namespaceURI).toBe('http://www.w3.org/1999/xhtml');
225
expect(div.tagName).toBe('DIV');
packages/react-dom/src/__tests__/ReactDOMSelect-test.js
+84
-84
@@ -10,12 +10,12 @@
10
'use strict';
11
12
describe('ReactDOMSelect', () => {
13
- var React;
14
- var ReactDOM;
15
- var ReactDOMServer;
16
- var ReactTestUtils;
13
+ let React;
14
+ let ReactDOM;
15
+ let ReactDOMServer;
16
+ let ReactTestUtils;
17
18
- var noop = function() {};
18
+ const noop = function() {};
19
20
beforeEach(() => {
21
jest.resetModules();
@@ -26,17 +26,17 @@ describe('ReactDOMSelect', () => {
26
});
27
28
it('should allow setting `defaultValue`', () => {
29
- var stub = (
29
+ let stub = (
30
<select defaultValue="giraffe">
31
<option value="monkey">A monkey!</option>
32
<option value="giraffe">A giraffe!</option>
33
<option value="gorilla">A gorilla!</option>
34
</select>
35
);
36
- var options = stub.props.children;
37
- var container = document.createElement('div');
36
+ const options = stub.props.children;
37
+ const container = document.createElement('div');
38
stub = ReactDOM.render(stub, container);
39
- var node = ReactDOM.findDOMNode(stub);
39
+ const node = ReactDOM.findDOMNode(stub);
40
41
expect(node.value).toBe('giraffe');
42
@@ -49,7 +49,7 @@ describe('ReactDOMSelect', () => {
49
});
50
51
it('should not throw with `defaultValue` and without children', () => {
52
- var stub = <select defaultValue="dummy" />;
52
+ const stub = <select defaultValue="dummy" />;
53
54
expect(() => {
55
ReactTestUtils.renderIntoDocument(stub);
@@ -57,16 +57,16 @@ describe('ReactDOMSelect', () => {
57
});
58
59
it('should not control when using `defaultValue`', () => {
60
- var el = (
60
+ const el = (
61
<select defaultValue="giraffe">
62
<option value="monkey">A monkey!</option>
63
<option value="giraffe">A giraffe!</option>
64
<option value="gorilla">A gorilla!</option>
65
</select>
66
);
67
- var container = document.createElement('div');
68
- var stub = ReactDOM.render(el, container);
69
- var node = ReactDOM.findDOMNode(stub);
67
+ const container = document.createElement('div');
68
+ const stub = ReactDOM.render(el, container);
69
+ const node = ReactDOM.findDOMNode(stub);
70
71
expect(node.value).toBe('giraffe');
72
@@ -77,17 +77,17 @@ describe('ReactDOMSelect', () => {
77
});
78
79
it('should allow setting `defaultValue` with multiple', () => {
80
- var stub = (
80
+ let stub = (
81
<select multiple={true} defaultValue={['giraffe', 'gorilla']}>
82
<option value="monkey">A monkey!</option>
83
<option value="giraffe">A giraffe!</option>
84
<option value="gorilla">A gorilla!</option>
85
</select>
86
);
87
- var options = stub.props.children;
88
- var container = document.createElement('div');
87
+ const options = stub.props.children;
88
+ const container = document.createElement('div');
89
stub = ReactDOM.render(stub, container);
90
- var node = ReactDOM.findDOMNode(stub);
90
+ const node = ReactDOM.findDOMNode(stub);
91
92
expect(node.options[0].selected).toBe(false); // monkey
93
expect(node.options[1].selected).toBe(true); // giraffe
@@ -107,17 +107,17 @@ describe('ReactDOMSelect', () => {
107
});
108
109
it('should allow setting `value`', () => {
110
- var stub = (
110
+ let stub = (
111
<select value="giraffe" onChange={noop}>
112
<option value="monkey">A monkey!</option>
113
<option value="giraffe">A giraffe!</option>
114
<option value="gorilla">A gorilla!</option>
115
</select>
116
);
117
- var options = stub.props.children;
118
- var container = document.createElement('div');
117
+ const options = stub.props.children;
118
+ const container = document.createElement('div');
119
stub = ReactDOM.render(stub, container);
120
- var node = ReactDOM.findDOMNode(stub);
120
+ const node = ReactDOM.findDOMNode(stub);
121
122
expect(node.value).toBe('giraffe');
123
@@ -132,7 +132,7 @@ describe('ReactDOMSelect', () => {
132
});
133
134
it('should default to the first non-disabled option', () => {
135
- var stub = (
135
+ let stub = (
136
<select defaultValue="">
137
<option disabled={true}>Disabled</option>
138
<option disabled={true}>Still Disabled</option>
@@ -140,25 +140,25 @@ describe('ReactDOMSelect', () => {
140
<option disabled={true}>Also Disabled</option>
141
</select>
142
);
143
- var container = document.createElement('div');
143
+ const container = document.createElement('div');
144
stub = ReactDOM.render(stub, container);
145
- var node = ReactDOM.findDOMNode(stub);
145
+ const node = ReactDOM.findDOMNode(stub);
146
expect(node.options[0].selected).toBe(false);
147
expect(node.options[2].selected).toBe(true);
148
});
149
150
it('should allow setting `value` to __proto__', () => {
151
- var stub = (
151
+ let stub = (
152
<select value="__proto__" onChange={noop}>
153
<option value="monkey">A monkey!</option>
154
<option value="__proto__">A giraffe!</option>
155
<option value="gorilla">A gorilla!</option>
156
</select>
157
);
158
- var options = stub.props.children;
159
- var container = document.createElement('div');
158
+ const options = stub.props.children;
159
+ const container = document.createElement('div');
160
stub = ReactDOM.render(stub, container);
161
- var node = ReactDOM.findDOMNode(stub);
161
+ const node = ReactDOM.findDOMNode(stub);
162
163
expect(node.value).toBe('__proto__');
164
@@ -173,7 +173,7 @@ describe('ReactDOMSelect', () => {
173
});
174
175
it('should not throw with `value` and without children', () => {
176
- var stub = <select value="dummy" onChange={noop} />;
176
+ const stub = <select value="dummy" onChange={noop} />;
177
178
expect(() => {
179
ReactTestUtils.renderIntoDocument(stub);
@@ -181,17 +181,17 @@ describe('ReactDOMSelect', () => {
181
});
182
183
it('should allow setting `value` with multiple', () => {
184
- var stub = (
184
+ let stub = (
185
<select multiple={true} value={['giraffe', 'gorilla']} onChange={noop}>
186
<option value="monkey">A monkey!</option>
187
<option value="giraffe">A giraffe!</option>
188
<option value="gorilla">A gorilla!</option>
189
</select>
190
);
191
- var options = stub.props.children;
192
- var container = document.createElement('div');
191
+ const options = stub.props.children;
192
+ const container = document.createElement('div');
193
stub = ReactDOM.render(stub, container);
194
- var node = ReactDOM.findDOMNode(stub);
194
+ const node = ReactDOM.findDOMNode(stub);
195
196
expect(node.options[0].selected).toBe(false); // monkey
197
expect(node.options[1].selected).toBe(true); // giraffe
@@ -211,17 +211,17 @@ describe('ReactDOMSelect', () => {
211
});
212
213
it('should allow setting `value` to __proto__ with multiple', () => {
214
- var stub = (
214
+ let stub = (
215
<select multiple={true} value={['__proto__', 'gorilla']} onChange={noop}>
216
<option value="monkey">A monkey!</option>
217
<option value="__proto__">A __proto__!</option>
218
<option value="gorilla">A gorilla!</option>
219
</select>
220
);
221
- var options = stub.props.children;
222
- var container = document.createElement('div');
221
+ const options = stub.props.children;
222
+ const container = document.createElement('div');
223
stub = ReactDOM.render(stub, container);
224
- var node = ReactDOM.findDOMNode(stub);
224
+ const node = ReactDOM.findDOMNode(stub);
225
226
expect(node.options[0].selected).toBe(false); // monkey
227
expect(node.options[1].selected).toBe(true); // __proto__
@@ -241,7 +241,7 @@ describe('ReactDOMSelect', () => {
241
});
242
243
it('should not select other options automatically', () => {
244
- var stub = (
244
+ let stub = (
245
<select multiple={true} value={['12']} onChange={noop}>
246
<option value="1">one</option>
247
<option value="2">two</option>
@@ -249,7 +249,7 @@ describe('ReactDOMSelect', () => {
249
</select>
250
);
251
stub = ReactTestUtils.renderIntoDocument(stub);
252
- var node = ReactDOM.findDOMNode(stub);
252
+ const node = ReactDOM.findDOMNode(stub);
253
254
expect(node.options[0].selected).toBe(false); // one
255
expect(node.options[1].selected).toBe(false); // two
@@ -257,8 +257,8 @@ describe('ReactDOMSelect', () => {
257
});
258
259
it('should reset child options selected when they are changed and `value` is set', () => {
260
- var stub = <select multiple={true} value={['a', 'b']} onChange={noop} />;
261
- var container = document.createElement('div');
260
+ let stub = <select multiple={true} value={['a', 'b']} onChange={noop} />;
261
+ const container = document.createElement('div');
262
stub = ReactDOM.render(stub, container);
263
264
ReactDOM.render(
@@ -270,7 +270,7 @@ describe('ReactDOMSelect', () => {
270
container,
271
);
272
273
- var node = ReactDOM.findDOMNode(stub);
273
+ const node = ReactDOM.findDOMNode(stub);
274
275
expect(node.options[0].selected).toBe(true); // a
276
expect(node.options[1].selected).toBe(true); // b
@@ -278,23 +278,23 @@ describe('ReactDOMSelect', () => {
278
});
279
280
it('should allow setting `value` with `objectToString`', () => {
281
- var objectToString = {
281
+ const objectToString = {
282
animal: 'giraffe',
283
toString: function() {
284
return this.animal;
285
},
286
};
287
288
- var el = (
288
+ const el = (
289
<select multiple={true} value={[objectToString]} onChange={noop}>
290
<option value="monkey">A monkey!</option>
291
<option value="giraffe">A giraffe!</option>
292
<option value="gorilla">A gorilla!</option>
293
</select>
294
);
295
- var container = document.createElement('div');
296
- var stub = ReactDOM.render(el, container);
297
- var node = ReactDOM.findDOMNode(stub);
295
+ const container = document.createElement('div');
296
+ const stub = ReactDOM.render(el, container);
297
+ const node = ReactDOM.findDOMNode(stub);
298
299
expect(node.options[0].selected).toBe(false); // monkey
300
expect(node.options[1].selected).toBe(true); // giraffe
@@ -303,7 +303,7 @@ describe('ReactDOMSelect', () => {
303
// Changing the `value` prop should change the selected options.
304
objectToString.animal = 'monkey';
305
306
- var el2 = (
306
+ const el2 = (
307
<select multiple={true} value={[objectToString]}>
308
<option value="monkey">A monkey!</option>
309
<option value="giraffe">A giraffe!</option>
@@ -318,17 +318,17 @@ describe('ReactDOMSelect', () => {
318
});
319
320
it('should allow switching to multiple', () => {
321
- var stub = (
321
+ let stub = (
322
<select defaultValue="giraffe">
323
<option value="monkey">A monkey!</option>
324
<option value="giraffe">A giraffe!</option>
325
<option value="gorilla">A gorilla!</option>
326
</select>
327
);
328
- var options = stub.props.children;
329
- var container = document.createElement('div');
328
+ const options = stub.props.children;
329
+ const container = document.createElement('div');
330
stub = ReactDOM.render(stub, container);
331
- var node = ReactDOM.findDOMNode(stub);
331
+ const node = ReactDOM.findDOMNode(stub);
332
333
expect(node.options[0].selected).toBe(false); // monkey
334
expect(node.options[1].selected).toBe(true); // giraffe
@@ -348,17 +348,17 @@ describe('ReactDOMSelect', () => {
348
});
349
350
it('should allow switching from multiple', () => {
351
- var stub = (
351
+ let stub = (
352
<select multiple={true} defaultValue={['giraffe', 'gorilla']}>
353
<option value="monkey">A monkey!</option>
354
<option value="giraffe">A giraffe!</option>
355
<option value="gorilla">A gorilla!</option>
356
</select>
357
);
358
- var options = stub.props.children;
359
- var container = document.createElement('div');
358
+ const options = stub.props.children;
359
+ const container = document.createElement('div');
360
stub = ReactDOM.render(stub, container);
361
- var node = ReactDOM.findDOMNode(stub);
361
+ const node = ReactDOM.findDOMNode(stub);
362
363
expect(node.options[0].selected).toBe(false); // monkey
364
expect(node.options[1].selected).toBe(true); // giraffe
@@ -377,17 +377,17 @@ describe('ReactDOMSelect', () => {
377
});
378
379
it('should remember value when switching to uncontrolled', () => {
380
- var stub = (
380
+ let stub = (
381
<select value={'giraffe'} onChange={noop}>
382
<option value="monkey">A monkey!</option>
383
<option value="giraffe">A giraffe!</option>
384
<option value="gorilla">A gorilla!</option>
385
</select>
386
);
387
- var options = stub.props.children;
388
- var container = document.createElement('div');
387
+ const options = stub.props.children;
388
+ const container = document.createElement('div');
389
stub = ReactDOM.render(stub, container);
390
- var node = ReactDOM.findDOMNode(stub);
390
+ const node = ReactDOM.findDOMNode(stub);
391
392
expect(node.options[0].selected).toBe(false); // monkey
393
expect(node.options[1].selected).toBe(true); // giraffe
@@ -401,17 +401,17 @@ describe('ReactDOMSelect', () => {
401
});
402
403
it('should remember updated value when switching to uncontrolled', () => {
404
- var stub = (
404
+ let stub = (
405
<select value={'giraffe'} onChange={noop}>
406
<option value="monkey">A monkey!</option>
407
<option value="giraffe">A giraffe!</option>
408
<option value="gorilla">A gorilla!</option>
409
</select>
410
);
411
- var options = stub.props.children;
412
- var container = document.createElement('div');
411
+ const options = stub.props.children;
412
+ const container = document.createElement('div');
413
stub = ReactDOM.render(stub, container);
414
- var node = ReactDOM.findDOMNode(stub);
414
+ const node = ReactDOM.findDOMNode(stub);
415
416
ReactDOM.render(
417
<select value="gorilla" onChange={noop}>
@@ -432,51 +432,51 @@ describe('ReactDOMSelect', () => {
432
});
433
434
it('should support server-side rendering', () => {
435
- var stub = (
435
+ const stub = (
436
<select value="giraffe" onChange={noop}>
437
<option value="monkey">A monkey!</option>
438
<option value="giraffe">A giraffe!</option>
439
<option value="gorilla">A gorilla!</option>
440
</select>
441
);
442
- var markup = ReactDOMServer.renderToString(stub);
442
+ const markup = ReactDOMServer.renderToString(stub);
443
expect(markup).toContain('<option selected value="giraffe"');
444
expect(markup).not.toContain('<option selected value="monkey"');
445
expect(markup).not.toContain('<option selected value="gorilla"');
446
});
447
448
it('should support server-side rendering with defaultValue', () => {
449
- var stub = (
449
+ const stub = (
450
<select defaultValue="giraffe">
451
<option value="monkey">A monkey!</option>
452
<option value="giraffe">A giraffe!</option>
453
<option value="gorilla">A gorilla!</option>
454
</select>
455
);
456
- var markup = ReactDOMServer.renderToString(stub);
456
+ const markup = ReactDOMServer.renderToString(stub);
457
expect(markup).toContain('<option selected value="giraffe"');
458
expect(markup).not.toContain('<option selected value="monkey"');
459
expect(markup).not.toContain('<option selected value="gorilla"');
460
});
461
462
it('should support server-side rendering with multiple', () => {
463
- var stub = (
463
+ const stub = (
464
<select multiple={true} value={['giraffe', 'gorilla']} onChange={noop}>
465
<option value="monkey">A monkey!</option>
466
<option value="giraffe">A giraffe!</option>
467
<option value="gorilla">A gorilla!</option>
468
</select>
469
);
470
- var markup = ReactDOMServer.renderToString(stub);
470
+ const markup = ReactDOMServer.renderToString(stub);
471
expect(markup).toContain('<option selected value="giraffe"');
472
expect(markup).toContain('<option selected value="gorilla"');
473
expect(markup).not.toContain('<option selected value="monkey"');
474
});
475
476
it('should not control defaultValue if readding options', () => {
477
- var container = document.createElement('div');
477
+ const container = document.createElement('div');
478
479
- var select = ReactDOM.render(
479
+ const select = ReactDOM.render(
480
<select multiple={true} defaultValue={['giraffe']}>
481
<option key="monkey" value="monkey">
482
A monkey!
@@ -490,7 +490,7 @@ describe('ReactDOMSelect', () => {
490
</select>,
491
container,
492
);
493
- var node = ReactDOM.findDOMNode(select);
493
+ const node = ReactDOM.findDOMNode(select);
494
495
expect(node.options[0].selected).toBe(false); // monkey
496
expect(node.options[1].selected).toBe(true); // giraffe
@@ -586,7 +586,7 @@ describe('ReactDOMSelect', () => {
586
});
587
588
it('should refresh state on change', () => {
589
- var stub = (
589
+ let stub = (
590
<select value="giraffe" onChange={noop}>
591
<option value="monkey">A monkey!</option>
592
<option value="giraffe">A giraffe!</option>
@@ -594,7 +594,7 @@ describe('ReactDOMSelect', () => {
594
</select>
595
);
596
stub = ReactTestUtils.renderIntoDocument(stub);
597
- var node = ReactDOM.findDOMNode(stub);
597
+ const node = ReactDOM.findDOMNode(stub);
598
599
ReactTestUtils.Simulate.change(node);
600
@@ -637,8 +637,8 @@ describe('ReactDOMSelect', () => {
637
ReactDOM.unmountComponentAtNode(container);
638
}
639
640
- var container = document.createElement('div');
641
- var stub = (
640
+ const container = document.createElement('div');
641
+ let stub = (
642
<select value="giraffe" onChange={changeView}>
643
<option value="monkey">A monkey!</option>
644
<option value="giraffe">A giraffe!</option>
@@ -646,13 +646,13 @@ describe('ReactDOMSelect', () => {
646
</select>
647
);
648
stub = ReactDOM.render(stub, container);
649
- var node = ReactDOM.findDOMNode(stub);
649
+ const node = ReactDOM.findDOMNode(stub);
650
651
expect(() => ReactTestUtils.Simulate.change(node)).not.toThrow();
652
});
653
654
it('should select grandchild options nested inside an optgroup', () => {
655
- var stub = (
655
+ const stub = (
656
<select value="b" onChange={noop}>
657
<optgroup label="group">
658
<option value="a">a</option>
@@ -661,8 +661,8 @@ describe('ReactDOMSelect', () => {
661
</optgroup>
662
</select>
663
);
664
- var container = document.createElement('div');
665
- var node = ReactDOM.render(stub, container);
664
+ const container = document.createElement('div');
665
+ const node = ReactDOM.render(stub, container);
666
667
expect(node.options[0].selected).toBe(false); // a
668
expect(node.options[1].selected).toBe(true); // b
@@ -670,7 +670,7 @@ describe('ReactDOMSelect', () => {
670
});
671
672
it('should allow controlling `value` in a nested render', () => {
673
- var selectNode;
673
+ let selectNode;
674
675
class Parent extends React.Component {
676
state = {
@@ -708,7 +708,7 @@ describe('ReactDOMSelect', () => {
708
}
709
}
710
711
- var container = document.createElement('div');
711
+ const container = document.createElement('div');
712
713
document.body.appendChild(container);
714
packages/react-dom/src/__tests__/ReactDOMSelection-test.internal.js
+5
-5
@@ -9,12 +9,12 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactDOMSelection;
15
-var invariant;
12
+let React;
13
+let ReactDOM;
14
+let ReactDOMSelection;
15
+let invariant;
16
17
-var getModernOffsetsFromPoints;
17
+let getModernOffsetsFromPoints;
18
19
describe('ReactDOMSelection', () => {
20
beforeEach(() => {
packages/react-dom/src/__tests__/ReactDOMServerIntegrationBasic-test.js
+1
-1
@@ -113,7 +113,7 @@ describe('ReactDOMServerIntegration', () => {
113
itRenders('an iterable', async render => {
114
const threeDivIterable = {
115
'@@iterator': function() {
116
- var i = 0;
116
+ let i = 0;
117
return {
118
next: function() {
119
if (i++ < 3) {
packages/react-dom/src/__tests__/ReactDOMServerIntegrationElements-test.js
+5
-5
@@ -550,7 +550,7 @@ describe('ReactDOMServerIntegration', () => {
550
</Component>
551
</Component>,
552
);
553
- for (var i = 0; i < 3; i++) {
553
+ for (let i = 0; i < 3; i++) {
554
expect(e.tagName).toBe('DIV');
555
expect(e.childNodes.length).toBe(1);
556
e = e.firstChild;
@@ -575,12 +575,12 @@ describe('ReactDOMServerIntegration', () => {
575
);
576
expect(e.tagName).toBe('DIV');
577
expect(e.childNodes.length).toBe(2);
578
- for (var i = 0; i < 2; i++) {
579
- var child = e.childNodes[i];
578
+ for (let i = 0; i < 2; i++) {
579
+ const child = e.childNodes[i];
580
expect(child.tagName).toBe('DIV');
581
expect(child.childNodes.length).toBe(2);
582
- for (var j = 0; j < 2; j++) {
583
- var grandchild = child.childNodes[j];
582
+ for (let j = 0; j < 2; j++) {
583
+ const grandchild = child.childNodes[j];
584
expect(grandchild.tagName).toBe('DIV');
585
expect(grandchild.childNodes.length).toBe(0);
586
}
packages/react-dom/src/__tests__/ReactDOMServerIntegrationForms-test.js
+2
-2
@@ -226,7 +226,7 @@ describe('ReactDOMServerIntegration', () => {
226
});
227
228
describe('selects', function() {
229
- var options;
229
+ let options;
230
beforeEach(function() {
231
options = [
232
<option key={1} value="foo" id="foo">
@@ -255,7 +255,7 @@ describe('ReactDOMServerIntegration', () => {
255
256
['foo', 'bar', 'baz'].forEach(value => {
257
const expectedValue = selected.indexOf(value) !== -1;
258
- var option = element.querySelector(`#${value}`);
258
+ const option = element.querySelector(`#${value}`);
259
expect(option.selected).toBe(expectedValue);
260
});
261
};
packages/react-dom/src/__tests__/ReactDOMServerIntegrationReconnecting-test.js
+1
-1
@@ -42,7 +42,7 @@ describe('ReactDOMServerIntegration', () => {
42
});
43
44
describe('reconnecting to server markup', function() {
45
- var EmptyComponent;
45
+ let EmptyComponent;
46
beforeEach(() => {
47
EmptyComponent = class extends React.Component {
48
render() {
packages/react-dom/src/__tests__/ReactDOMTextComponent-test.js
+23
-23
@@ -9,9 +9,9 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactDOMServer;
12
+let React;
13
+let ReactDOM;
14
+let ReactDOMServer;
15
16
// In standard React, TextComponent keeps track of different Text templates
17
// using comments. However, in React Fiber, those comments are not outputted due
@@ -30,8 +30,8 @@ describe('ReactDOMTextComponent', () => {
30
});
31
32
it('updates a mounted text component in place', () => {
33
- var el = document.createElement('div');
34
- var inst = ReactDOM.render(
33
+ const el = document.createElement('div');
34
+ let inst = ReactDOM.render(
35
<div>
36
<span />
37
{'foo'}
@@ -64,8 +64,8 @@ describe('ReactDOMTextComponent', () => {
64
});
65
66
it('can be toggled in and out of the markup', () => {
67
- var el = document.createElement('div');
68
- var inst = ReactDOM.render(
67
+ const el = document.createElement('div');
68
+ let inst = ReactDOM.render(
69
<div>
70
{'foo'}
71
<div />
@@ -74,7 +74,7 @@ describe('ReactDOMTextComponent', () => {
74
el,
75
);
76
77
- var container = ReactDOM.findDOMNode(inst);
77
+ let container = ReactDOM.findDOMNode(inst);
78
let childNodes = filterOutComments(container.childNodes);
79
let childDiv = childNodes[1];
80
@@ -113,8 +113,8 @@ describe('ReactDOMTextComponent', () => {
113
*/
114
115
xit('can reconcile text merged by Node.normalize() alongside other elements', () => {
116
- var el = document.createElement('div');
117
- var inst = ReactDOM.render(
116
+ const el = document.createElement('div');
117
+ let inst = ReactDOM.render(
118
<div>
119
{'foo'}
120
{'bar'}
@@ -125,7 +125,7 @@ describe('ReactDOMTextComponent', () => {
125
el,
126
);
127
128
- var container = ReactDOM.findDOMNode(inst);
128
+ let container = ReactDOM.findDOMNode(inst);
129
container.normalize();
130
131
inst = ReactDOM.render(
@@ -143,8 +143,8 @@ describe('ReactDOMTextComponent', () => {
143
});
144
145
xit('can reconcile text merged by Node.normalize()', () => {
146
- var el = document.createElement('div');
147
- var inst = ReactDOM.render(
146
+ const el = document.createElement('div');
147
+ let inst = ReactDOM.render(
148
<div>
149
{'foo'}
150
{'bar'}
@@ -153,7 +153,7 @@ describe('ReactDOMTextComponent', () => {
153
el,
154
);
155
156
- var container = ReactDOM.findDOMNode(inst);
156
+ let container = ReactDOM.findDOMNode(inst);
157
container.normalize();
158
159
inst = ReactDOM.render(
@@ -169,8 +169,8 @@ describe('ReactDOMTextComponent', () => {
169
});
170
171
it('can reconcile text from pre-rendered markup', () => {
172
- var el = document.createElement('div');
173
- var reactEl = (
172
+ const el = document.createElement('div');
173
+ let reactEl = (
174
<div>
175
{'foo'}
176
{'bar'}
@@ -198,8 +198,8 @@ describe('ReactDOMTextComponent', () => {
198
});
199
200
xit('can reconcile text arbitrarily split into multiple nodes', () => {
201
- var el = document.createElement('div');
202
- var inst = ReactDOM.render(
201
+ const el = document.createElement('div');
202
+ let inst = ReactDOM.render(
203
<div>
204
<span />
205
{'foobarbaz'}
@@ -207,7 +207,7 @@ describe('ReactDOMTextComponent', () => {
207
el,
208
);
209
210
- var container = ReactDOM.findDOMNode(inst);
210
+ let container = ReactDOM.findDOMNode(inst);
211
let childNodes = filterOutComments(ReactDOM.findDOMNode(inst).childNodes);
212
let textNode = childNodes[1];
213
textNode.textContent = 'foo';
@@ -232,8 +232,8 @@ describe('ReactDOMTextComponent', () => {
232
});
233
234
xit('can reconcile text arbitrarily split into multiple nodes on some substitutions only', () => {
235
- var el = document.createElement('div');
236
- var inst = ReactDOM.render(
235
+ const el = document.createElement('div');
236
+ let inst = ReactDOM.render(
237
<div>
238
<span />
239
{'bar'}
@@ -246,7 +246,7 @@ describe('ReactDOMTextComponent', () => {
246
el,
247
);
248
249
- var container = ReactDOM.findDOMNode(inst);
249
+ let container = ReactDOM.findDOMNode(inst);
250
let childNodes = filterOutComments(ReactDOM.findDOMNode(inst).childNodes);
251
let textNode = childNodes[3];
252
textNode.textContent = 'foo';
@@ -282,7 +282,7 @@ describe('ReactDOMTextComponent', () => {
282
});
283
284
xit('can unmount normalized text nodes', () => {
285
- var el = document.createElement('div');
285
+ const el = document.createElement('div');
286
ReactDOM.render(
287
<div>
288
{''}
packages/react-dom/src/__tests__/ReactDOMTextarea-test.js
+63
-63
@@ -9,15 +9,15 @@
9
10
'use strict';
11
12
-var emptyFunction = require('fbjs/lib/emptyFunction');
12
+const emptyFunction = require('fbjs/lib/emptyFunction');
13
14
describe('ReactDOMTextarea', () => {
15
- var React;
16
- var ReactDOM;
17
- var ReactDOMServer;
18
- var ReactTestUtils;
15
+ let React;
16
+ let ReactDOM;
17
+ let ReactDOMServer;
18
+ let ReactTestUtils;
19
20
- var renderTextarea;
20
+ let renderTextarea;
21
22
beforeEach(() => {
23
React = require('react');
@@ -29,7 +29,7 @@ describe('ReactDOMTextarea', () => {
29
if (!container) {
30
container = document.createElement('div');
31
}
32
- var node = ReactDOM.render(component, container);
32
+ const node = ReactDOM.render(component, container);
33
34
// Fixing jsdom's quirky behavior -- in reality, the parser should strip
35
// off the leading newline but we need to do it by hand here.
@@ -39,8 +39,8 @@ describe('ReactDOMTextarea', () => {
39
});
40
41
it('should allow setting `defaultValue`', () => {
42
- var container = document.createElement('div');
43
- var node = renderTextarea(<textarea defaultValue="giraffe" />, container);
42
+ const container = document.createElement('div');
43
+ const node = renderTextarea(<textarea defaultValue="giraffe" />, container);
44
45
expect(node.value).toBe('giraffe');
46
@@ -55,34 +55,34 @@ describe('ReactDOMTextarea', () => {
55
});
56
57
it('should display `defaultValue` of number 0', () => {
58
- var stub = <textarea defaultValue={0} />;
59
- var node = renderTextarea(stub);
58
+ const stub = <textarea defaultValue={0} />;
59
+ const node = renderTextarea(stub);
60
61
expect(node.value).toBe('0');
62
});
63
64
it('should display "false" for `defaultValue` of `false`', () => {
65
- var stub = <textarea defaultValue={false} />;
66
- var node = renderTextarea(stub);
65
+ const stub = <textarea defaultValue={false} />;
66
+ const node = renderTextarea(stub);
67
68
expect(node.value).toBe('false');
69
});
70
71
it('should display "foobar" for `defaultValue` of `objToString`', () => {
72
- var objToString = {
72
+ const objToString = {
73
toString: function() {
74
return 'foobar';
75
},
76
};
77
78
- var stub = <textarea defaultValue={objToString} />;
79
- var node = renderTextarea(stub);
78
+ const stub = <textarea defaultValue={objToString} />;
79
+ const node = renderTextarea(stub);
80
81
expect(node.value).toBe('foobar');
82
});
83
84
it('should set defaultValue', () => {
85
- var container = document.createElement('div');
85
+ const container = document.createElement('div');
86
ReactDOM.render(<textarea defaultValue="foo" />, container);
87
ReactDOM.render(<textarea defaultValue="bar" />, container);
88
ReactDOM.render(<textarea defaultValue="noise" />, container);
@@ -90,30 +90,30 @@ describe('ReactDOMTextarea', () => {
90
});
91
92
it('should not render value as an attribute', () => {
93
- var stub = <textarea value="giraffe" onChange={emptyFunction} />;
94
- var node = renderTextarea(stub);
93
+ const stub = <textarea value="giraffe" onChange={emptyFunction} />;
94
+ const node = renderTextarea(stub);
95
96
expect(node.getAttribute('value')).toBe(null);
97
});
98
99
it('should display `value` of number 0', () => {
100
- var stub = <textarea value={0} />;
101
- var node = renderTextarea(stub);
100
+ const stub = <textarea value={0} />;
101
+ const node = renderTextarea(stub);
102
103
expect(node.value).toBe('0');
104
});
105
106
it('should update defaultValue to empty string', () => {
107
- var container = document.createElement('div');
107
+ const container = document.createElement('div');
108
ReactDOM.render(<textarea defaultValue={'foo'} />, container);
109
ReactDOM.render(<textarea defaultValue={''} />, container);
110
expect(container.firstChild.defaultValue).toBe('');
111
});
112
113
it('should allow setting `value` to `giraffe`', () => {
114
- var container = document.createElement('div');
115
- var stub = <textarea value="giraffe" onChange={emptyFunction} />;
116
- var node = renderTextarea(stub, container);
114
+ const container = document.createElement('div');
115
+ let stub = <textarea value="giraffe" onChange={emptyFunction} />;
116
+ const node = renderTextarea(stub, container);
117
118
expect(node.value).toBe('giraffe');
119
@@ -125,26 +125,26 @@ describe('ReactDOMTextarea', () => {
125
});
126
127
it('should render defaultValue for SSR', () => {
128
- var markup = ReactDOMServer.renderToString(<textarea defaultValue="1" />);
129
- var div = document.createElement('div');
128
+ const markup = ReactDOMServer.renderToString(<textarea defaultValue="1" />);
129
+ const div = document.createElement('div');
130
div.innerHTML = markup;
131
expect(div.firstChild.innerHTML).toBe('1');
132
expect(div.firstChild.getAttribute('defaultValue')).toBe(null);
133
});
134
135
it('should render value for SSR', () => {
136
- var element = <textarea value="1" onChange={function() {}} />;
137
- var markup = ReactDOMServer.renderToString(element);
138
- var div = document.createElement('div');
136
+ const element = <textarea value="1" onChange={function() {}} />;
137
+ const markup = ReactDOMServer.renderToString(element);
138
+ const div = document.createElement('div');
139
div.innerHTML = markup;
140
expect(div.firstChild.innerHTML).toBe('1');
141
expect(div.firstChild.getAttribute('defaultValue')).toBe(null);
142
});
143
144
it('should allow setting `value` to `true`', () => {
145
- var container = document.createElement('div');
146
- var stub = <textarea value="giraffe" onChange={emptyFunction} />;
147
- var node = renderTextarea(stub, container);
145
+ const container = document.createElement('div');
146
+ let stub = <textarea value="giraffe" onChange={emptyFunction} />;
147
+ const node = renderTextarea(stub, container);
148
149
expect(node.value).toBe('giraffe');
150
@@ -156,9 +156,9 @@ describe('ReactDOMTextarea', () => {
156
});
157
158
it('should allow setting `value` to `false`', () => {
159
- var container = document.createElement('div');
160
- var stub = <textarea value="giraffe" onChange={emptyFunction} />;
161
- var node = renderTextarea(stub, container);
159
+ const container = document.createElement('div');
160
+ let stub = <textarea value="giraffe" onChange={emptyFunction} />;
161
+ const node = renderTextarea(stub, container);
162
163
expect(node.value).toBe('giraffe');
164
@@ -170,13 +170,13 @@ describe('ReactDOMTextarea', () => {
170
});
171
172
it('should allow setting `value` to `objToString`', () => {
173
- var container = document.createElement('div');
174
- var stub = <textarea value="giraffe" onChange={emptyFunction} />;
175
- var node = renderTextarea(stub, container);
173
+ const container = document.createElement('div');
174
+ let stub = <textarea value="giraffe" onChange={emptyFunction} />;
175
+ const node = renderTextarea(stub, container);
176
177
expect(node.value).toBe('giraffe');
178
179
- var objToString = {
179
+ const objToString = {
180
toString: function() {
181
return 'foo';
182
},
@@ -189,9 +189,9 @@ describe('ReactDOMTextarea', () => {
189
});
190
191
it('should take updates to `defaultValue` for uncontrolled textarea', () => {
192
- var container = document.createElement('div');
192
+ const container = document.createElement('div');
193
194
- var node = ReactDOM.render(<textarea defaultValue="0" />, container);
194
+ const node = ReactDOM.render(<textarea defaultValue="0" />, container);
195
196
expect(node.value).toBe('0');
197
@@ -201,9 +201,9 @@ describe('ReactDOMTextarea', () => {
201
});
202
203
it('should take updates to children in lieu of `defaultValue` for uncontrolled textarea', () => {
204
- var container = document.createElement('div');
204
+ const container = document.createElement('div');
205
206
- var node = ReactDOM.render(<textarea defaultValue="0" />, container);
206
+ const node = ReactDOM.render(<textarea defaultValue="0" />, container);
207
208
expect(node.value).toBe('0');
209
@@ -215,12 +215,12 @@ describe('ReactDOMTextarea', () => {
215
});
216
217
it('should not incur unnecessary DOM mutations', () => {
218
- var container = document.createElement('div');
218
+ const container = document.createElement('div');
219
ReactDOM.render(<textarea value="a" onChange={emptyFunction} />, container);
220
221
- var node = container.firstChild;
222
- var nodeValue = 'a';
223
- var nodeValueSetter = jest.genMockFn();
221
+ const node = container.firstChild;
222
+ let nodeValue = 'a';
223
+ const nodeValueSetter = jest.genMockFn();
224
Object.defineProperty(node, 'value', {
225
get: function() {
226
return nodeValue;
@@ -238,8 +238,8 @@ describe('ReactDOMTextarea', () => {
238
});
239
240
it('should properly control a value of number `0`', () => {
241
- var stub = <textarea value={0} onChange={emptyFunction} />;
242
- var node = renderTextarea(stub);
241
+ const stub = <textarea value={0} onChange={emptyFunction} />;
242
+ const node = renderTextarea(stub);
243
244
node.value = 'giraffe';
245
ReactTestUtils.Simulate.change(node);
@@ -249,9 +249,9 @@ describe('ReactDOMTextarea', () => {
249
it('should treat children like `defaultValue`', () => {
250
spyOnDev(console, 'error');
251
252
- var container = document.createElement('div');
253
- var stub = <textarea>giraffe</textarea>;
254
- var node = renderTextarea(stub, container);
252
+ const container = document.createElement('div');
253
+ let stub = <textarea>giraffe</textarea>;
254
+ const node = renderTextarea(stub, container);
255
256
if (__DEV__) {
257
expect(console.error.calls.count()).toBe(1);
@@ -264,9 +264,9 @@ describe('ReactDOMTextarea', () => {
264
});
265
266
it('should keep value when switching to uncontrolled element if not changed', () => {
267
- var container = document.createElement('div');
267
+ const container = document.createElement('div');
268
269
- var node = renderTextarea(
269
+ const node = renderTextarea(
270
<textarea value="kitten" onChange={emptyFunction} />,
271
container,
272
);
@@ -279,9 +279,9 @@ describe('ReactDOMTextarea', () => {
279
});
280
281
it('should keep value when switching to uncontrolled element if changed', () => {
282
- var container = document.createElement('div');
282
+ const container = document.createElement('div');
283
284
- var node = renderTextarea(
284
+ const node = renderTextarea(
285
<textarea value="kitten" onChange={emptyFunction} />,
286
container,
287
);
@@ -302,7 +302,7 @@ describe('ReactDOMTextarea', () => {
302
303
it('should allow numbers as children', () => {
304
spyOnDev(console, 'error');
305
- var node = renderTextarea(<textarea>{17}</textarea>);
305
+ const node = renderTextarea(<textarea>{17}</textarea>);
306
if (__DEV__) {
307
expect(console.error.calls.count()).toBe(1);
308
}
@@ -311,7 +311,7 @@ describe('ReactDOMTextarea', () => {
311
312
it('should allow booleans as children', () => {
313
spyOnDev(console, 'error');
314
- var node = renderTextarea(<textarea>{false}</textarea>);
314
+ const node = renderTextarea(<textarea>{false}</textarea>);
315
if (__DEV__) {
316
expect(console.error.calls.count()).toBe(1);
317
}
@@ -320,12 +320,12 @@ describe('ReactDOMTextarea', () => {
320
321
it('should allow objects as children', () => {
322
spyOnDev(console, 'error');
323
- var obj = {
323
+ const obj = {
324
toString: function() {
325
return 'sharkswithlasers';
326
},
327
};
328
- var node = renderTextarea(<textarea>{obj}</textarea>);
328
+ const node = renderTextarea(<textarea>{obj}</textarea>);
329
if (__DEV__) {
330
expect(console.error.calls.count()).toBe(1);
331
}
@@ -348,7 +348,7 @@ describe('ReactDOMTextarea', () => {
348
expect(console.error.calls.count()).toBe(1);
349
}
350
351
- var node;
351
+ let node;
352
expect(function() {
353
node = renderTextarea(
354
<textarea>
@@ -365,7 +365,7 @@ describe('ReactDOMTextarea', () => {
365
});
366
367
it('should unmount', () => {
368
- var container = document.createElement('div');
368
+ const container = document.createElement('div');
369
renderTextarea(<textarea />, container);
370
ReactDOM.unmountComponentAtNode(container);
371
});
packages/react-dom/src/__tests__/ReactEmptyComponent-test.js
+22
-22
@@ -9,12 +9,12 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactTestUtils;
15
-var TogglingComponent;
12
+let React;
13
+let ReactDOM;
14
+let ReactTestUtils;
15
+let TogglingComponent;
16
17
-var log;
17
+let log;
18
19
describe('ReactEmptyComponent', () => {
20
beforeEach(() => {
@@ -39,7 +39,7 @@ describe('ReactEmptyComponent', () => {
39
}
40
41
render() {
42
- var Component = this.state.component;
42
+ const Component = this.state.component;
43
return Component ? <Component /> : null;
44
}
45
};
@@ -58,11 +58,11 @@ describe('ReactEmptyComponent', () => {
58
}
59
}
60
61
- var container1 = document.createElement('div');
61
+ const container1 = document.createElement('div');
62
ReactDOM.render(<Component1 />, container1);
63
expect(container1.children.length).toBe(0);
64
65
- var container2 = document.createElement('div');
65
+ const container2 = document.createElement('div');
66
ReactDOM.render(<Component2 />, container2);
67
expect(container2.children.length).toBe(0);
68
});
@@ -81,10 +81,10 @@ describe('ReactEmptyComponent', () => {
81
});
82
83
it('should be able to switch between rendering null and a normal tag', () => {
84
- var instance1 = (
84
+ const instance1 = (
85
<TogglingComponent firstComponent={null} secondComponent={'div'} />
86
);
87
- var instance2 = (
87
+ const instance2 = (
88
<TogglingComponent firstComponent={'div'} secondComponent={null} />
89
);
90
@@ -99,7 +99,7 @@ describe('ReactEmptyComponent', () => {
99
});
100
101
it('should be able to switch in a list of children', () => {
102
- var instance1 = (
102
+ const instance1 = (
103
<TogglingComponent firstComponent={null} secondComponent={'div'} />
104
);
105
@@ -121,10 +121,10 @@ describe('ReactEmptyComponent', () => {
121
});
122
123
it('should distinguish between a script placeholder and an actual script tag', () => {
124
- var instance1 = (
124
+ const instance1 = (
125
<TogglingComponent firstComponent={null} secondComponent={'script'} />
126
);
127
- var instance2 = (
127
+ const instance2 = (
128
<TogglingComponent firstComponent={'script'} secondComponent={null} />
129
);
130
@@ -158,10 +158,10 @@ describe('ReactEmptyComponent', () => {
158
}
159
}
160
161
- var instance1 = (
161
+ const instance1 = (
162
<TogglingComponent firstComponent={'div'} secondComponent={Child} />
163
);
164
- var instance2 = (
164
+ const instance2 = (
165
<TogglingComponent firstComponent={Child} secondComponent={'div'} />
166
);
167
@@ -181,7 +181,7 @@ describe('ReactEmptyComponent', () => {
181
);
182
183
it('works when switching components', () => {
184
- var assertions = 0;
184
+ let assertions = 0;
185
186
class Inner extends React.Component {
187
render() {
@@ -209,8 +209,8 @@ describe('ReactEmptyComponent', () => {
209
}
210
}
211
212
- var el = document.createElement('div');
213
- var component;
212
+ const el = document.createElement('div');
213
+ let component;
214
215
// Render the <Inner /> component...
216
component = ReactDOM.render(<Wrapper showInner={true} />, el);
@@ -228,7 +228,7 @@ describe('ReactEmptyComponent', () => {
228
});
229
230
it('can render null at the top level', () => {
231
- var div = document.createElement('div');
231
+ const div = document.createElement('div');
232
ReactDOM.render(null, div);
233
expect(div.innerHTML).toBe('');
234
});
@@ -278,15 +278,15 @@ describe('ReactEmptyComponent', () => {
278
}
279
}
280
281
- var container = document.createElement('div');
281
+ const container = document.createElement('div');
282
283
ReactDOM.render(<Empty />, container);
284
- var noscript1 = container.firstChild;
284
+ const noscript1 = container.firstChild;
285
expect(noscript1).toBe(null);
286
287
// This update shouldn't create a DOM node
288
ReactDOM.render(<Empty />, container);
289
- var noscript2 = container.firstChild;
289
+ const noscript2 = container.firstChild;
290
expect(noscript2).toBe(null);
291
});
292
});
packages/react-dom/src/__tests__/ReactErrorBoundaries-test.js
+68
-68
@@ -9,29 +9,29 @@
9
10
'use strict';
11
12
-var PropTypes;
13
-var React;
14
-var ReactDOM;
12
+let PropTypes;
13
+let React;
14
+let ReactDOM;
15
16
describe('ReactErrorBoundaries', () => {
17
- var log;
18
-
19
- var BrokenConstructor;
20
- var BrokenComponentWillMount;
21
- var BrokenComponentDidMount;
22
- var BrokenComponentWillReceiveProps;
23
- var BrokenComponentWillUpdate;
24
- var BrokenComponentDidUpdate;
25
- var BrokenComponentWillUnmount;
26
- var BrokenRenderErrorBoundary;
27
- var BrokenComponentWillMountErrorBoundary;
28
- var BrokenComponentDidMountErrorBoundary;
29
- var BrokenRender;
30
- var ErrorBoundary;
31
- var ErrorMessage;
32
- var NoopErrorBoundary;
33
- var RetryErrorBoundary;
34
- var Normal;
17
+ let log;
18
+
19
+ let BrokenConstructor;
20
+ let BrokenComponentWillMount;
21
+ let BrokenComponentDidMount;
22
+ let BrokenComponentWillReceiveProps;
23
+ let BrokenComponentWillUpdate;
24
+ let BrokenComponentDidUpdate;
25
+ let BrokenComponentWillUnmount;
26
+ let BrokenRenderErrorBoundary;
27
+ let BrokenComponentWillMountErrorBoundary;
28
+ let BrokenComponentDidMountErrorBoundary;
29
+ let BrokenRender;
30
+ let ErrorBoundary;
31
+ let ErrorMessage;
32
+ let NoopErrorBoundary;
33
+ let RetryErrorBoundary;
34
+ let Normal;
35
36
beforeEach(() => {
37
PropTypes = require('prop-types');
@@ -528,7 +528,7 @@ describe('ReactErrorBoundaries', () => {
528
});
529
530
it('does not swallow exceptions on mounting without boundaries', () => {
531
- var container = document.createElement('div');
531
+ let container = document.createElement('div');
532
expect(() => {
533
ReactDOM.render(<BrokenRender />, container);
534
}).toThrow('Hello');
@@ -545,7 +545,7 @@ describe('ReactErrorBoundaries', () => {
545
});
546
547
it('does not swallow exceptions on updating without boundaries', () => {
548
- var container = document.createElement('div');
548
+ let container = document.createElement('div');
549
ReactDOM.render(<BrokenComponentWillUpdate />, container);
550
expect(() => {
551
ReactDOM.render(<BrokenComponentWillUpdate />, container);
@@ -565,7 +565,7 @@ describe('ReactErrorBoundaries', () => {
565
});
566
567
it('does not swallow exceptions on unmounting without boundaries', () => {
568
- var container = document.createElement('div');
568
+ const container = document.createElement('div');
569
ReactDOM.render(<BrokenComponentWillUnmount />, container);
570
expect(() => {
571
ReactDOM.unmountComponentAtNode(container);
@@ -573,9 +573,9 @@ describe('ReactErrorBoundaries', () => {
573
});
574
575
it('prevents errors from leaking into other roots', () => {
576
- var container1 = document.createElement('div');
577
- var container2 = document.createElement('div');
578
- var container3 = document.createElement('div');
576
+ const container1 = document.createElement('div');
577
+ const container2 = document.createElement('div');
578
+ const container3 = document.createElement('div');
579
580
ReactDOM.render(<span>Before 1</span>, container1);
581
expect(() => {
@@ -610,7 +610,7 @@ describe('ReactErrorBoundaries', () => {
610
});
611
612
it('renders an error state if child throws in render', () => {
613
- var container = document.createElement('div');
613
+ const container = document.createElement('div');
614
ReactDOM.render(
615
<ErrorBoundary>
616
<BrokenRender />
@@ -640,7 +640,7 @@ describe('ReactErrorBoundaries', () => {
640
});
641
642
it('renders an error state if child throws in constructor', () => {
643
- var container = document.createElement('div');
643
+ const container = document.createElement('div');
644
ReactDOM.render(
645
<ErrorBoundary>
646
<BrokenConstructor />
@@ -668,7 +668,7 @@ describe('ReactErrorBoundaries', () => {
668
});
669
670
it('renders an error state if child throws in componentWillMount', () => {
671
- var container = document.createElement('div');
671
+ const container = document.createElement('div');
672
ReactDOM.render(
673
<ErrorBoundary>
674
<BrokenComponentWillMount />
@@ -708,7 +708,7 @@ describe('ReactErrorBoundaries', () => {
708
}
709
}
710
711
- var container = document.createElement('div');
711
+ const container = document.createElement('div');
712
ReactDOM.render(
713
<ErrorBoundary>
714
<BrokenComponentWillMountWithContext />
@@ -736,7 +736,7 @@ describe('ReactErrorBoundaries', () => {
736
foo: PropTypes.number,
737
};
738
739
- var container = document.createElement('div');
739
+ const container = document.createElement('div');
740
ReactDOM.render(
741
<ErrorBoundary>
742
<BrokenComponentWillMountWithContext />
@@ -751,7 +751,7 @@ describe('ReactErrorBoundaries', () => {
751
return <ErrorMessage message={error.message} />;
752
}
753
754
- var container = document.createElement('div');
754
+ const container = document.createElement('div');
755
ReactDOM.render(
756
<ErrorBoundary renderError={renderError}>
757
<BrokenRender />
@@ -785,7 +785,7 @@ describe('ReactErrorBoundaries', () => {
785
});
786
787
it('propagates errors on retry on mounting', () => {
788
- var container = document.createElement('div');
788
+ const container = document.createElement('div');
789
ReactDOM.render(
790
<ErrorBoundary>
791
<RetryErrorBoundary>
@@ -829,7 +829,7 @@ describe('ReactErrorBoundaries', () => {
829
});
830
831
it('propagates errors inside boundary during componentWillMount', () => {
832
- var container = document.createElement('div');
832
+ const container = document.createElement('div');
833
ReactDOM.render(
834
<ErrorBoundary>
835
<BrokenComponentWillMountErrorBoundary />
@@ -857,7 +857,7 @@ describe('ReactErrorBoundaries', () => {
857
});
858
859
it('propagates errors inside boundary while rendering error state', () => {
860
- var container = document.createElement('div');
860
+ const container = document.createElement('div');
861
ReactDOM.render(
862
<ErrorBoundary>
863
<BrokenRenderErrorBoundary>
@@ -900,7 +900,7 @@ describe('ReactErrorBoundaries', () => {
900
});
901
902
it('does not call componentWillUnmount when aborting initial mount', () => {
903
- var container = document.createElement('div');
903
+ const container = document.createElement('div');
904
ReactDOM.render(
905
<ErrorBoundary>
906
<Normal />
@@ -945,7 +945,7 @@ describe('ReactErrorBoundaries', () => {
945
log.push('Error message ref is set to ' + x);
946
}
947
948
- var container = document.createElement('div');
948
+ const container = document.createElement('div');
949
ReactDOM.render(
950
<ErrorBoundary errorMessageRef={errorMessageRef}>
951
<div ref={childRef} />
@@ -982,7 +982,7 @@ describe('ReactErrorBoundaries', () => {
982
});
983
984
it('successfully mounts if no error occurs', () => {
985
- var container = document.createElement('div');
985
+ const container = document.createElement('div');
986
ReactDOM.render(
987
<ErrorBoundary>
988
<div>Mounted successfully.</div>
@@ -1003,7 +1003,7 @@ describe('ReactErrorBoundaries', () => {
1003
});
1004
1005
it('catches if child throws in constructor during update', () => {
1006
- var container = document.createElement('div');
1006
+ const container = document.createElement('div');
1007
ReactDOM.render(
1008
<ErrorBoundary>
1009
<Normal />
@@ -1051,7 +1051,7 @@ describe('ReactErrorBoundaries', () => {
1051
});
1052
1053
it('catches if child throws in componentWillMount during update', () => {
1054
- var container = document.createElement('div');
1054
+ const container = document.createElement('div');
1055
ReactDOM.render(
1056
<ErrorBoundary>
1057
<Normal />
@@ -1100,7 +1100,7 @@ describe('ReactErrorBoundaries', () => {
1100
});
1101
1102
it('catches if child throws in componentWillReceiveProps during update', () => {
1103
- var container = document.createElement('div');
1103
+ const container = document.createElement('div');
1104
ReactDOM.render(
1105
<ErrorBoundary>
1106
<Normal />
@@ -1144,7 +1144,7 @@ describe('ReactErrorBoundaries', () => {
1144
});
1145
1146
it('catches if child throws in componentWillUpdate during update', () => {
1147
- var container = document.createElement('div');
1147
+ const container = document.createElement('div');
1148
ReactDOM.render(
1149
<ErrorBoundary>
1150
<Normal />
@@ -1189,7 +1189,7 @@ describe('ReactErrorBoundaries', () => {
1189
});
1190
1191
it('catches if child throws in render during update', () => {
1192
- var container = document.createElement('div');
1192
+ const container = document.createElement('div');
1193
ReactDOM.render(
1194
<ErrorBoundary>
1195
<Normal />
@@ -1248,7 +1248,7 @@ describe('ReactErrorBoundaries', () => {
1248
log.push('Error message ref is set to ' + x);
1249
}
1250
1251
- var container = document.createElement('div');
1251
+ const container = document.createElement('div');
1252
ReactDOM.render(
1253
<ErrorBoundary errorMessageRef={errorMessageRef}>
1254
<div ref={child1Ref} />
@@ -1302,7 +1302,7 @@ describe('ReactErrorBoundaries', () => {
1302
});
1303
1304
it('recovers from componentWillUnmount errors on update', () => {
1305
- var container = document.createElement('div');
1305
+ const container = document.createElement('div');
1306
ReactDOM.render(
1307
<ErrorBoundary>
1308
<BrokenComponentWillUnmount />
@@ -1354,7 +1354,7 @@ describe('ReactErrorBoundaries', () => {
1354
});
1355
1356
it('recovers from nested componentWillUnmount errors on update', () => {
1357
- var container = document.createElement('div');
1357
+ const container = document.createElement('div');
1358
ReactDOM.render(
1359
<ErrorBoundary>
1360
<Normal>
@@ -1418,7 +1418,7 @@ describe('ReactErrorBoundaries', () => {
1418
return <div>Caught an outer error: {error.message}.</div>;
1419
}
1420
1421
- var container = document.createElement('div');
1421
+ const container = document.createElement('div');
1422
ReactDOM.render(
1423
<ErrorBoundary
1424
logName="OuterErrorBoundary"
@@ -1480,7 +1480,7 @@ describe('ReactErrorBoundaries', () => {
1480
});
1481
1482
it('can recover from error state', () => {
1483
- var container = document.createElement('div');
1483
+ const container = document.createElement('div');
1484
ReactDOM.render(
1485
<ErrorBoundary>
1486
<BrokenRender />
@@ -1528,7 +1528,7 @@ describe('ReactErrorBoundaries', () => {
1528
});
1529
1530
it('can update multiple times in error state', () => {
1531
- var container = document.createElement('div');
1531
+ const container = document.createElement('div');
1532
ReactDOM.render(
1533
<ErrorBoundary>
1534
<BrokenRender />
@@ -1552,7 +1552,7 @@ describe('ReactErrorBoundaries', () => {
1552
});
1553
1554
it("doesn't get into inconsistent state during removals", () => {
1555
- var container = document.createElement('div');
1555
+ const container = document.createElement('div');
1556
ReactDOM.render(
1557
<ErrorBoundary>
1558
<Normal />
@@ -1571,7 +1571,7 @@ describe('ReactErrorBoundaries', () => {
1571
});
1572
1573
it("doesn't get into inconsistent state during additions", () => {
1574
- var container = document.createElement('div');
1574
+ const container = document.createElement('div');
1575
ReactDOM.render(<ErrorBoundary />, container);
1576
ReactDOM.render(
1577
<ErrorBoundary>
@@ -1590,17 +1590,17 @@ describe('ReactErrorBoundaries', () => {
1590
1591
it("doesn't get into inconsistent state during reorders", () => {
1592
function getAMixOfNormalAndBrokenRenderElements() {
1593
- var elements = [];
1594
- for (var i = 0; i < 100; i++) {
1593
+ const elements = [];
1594
+ for (let i = 0; i < 100; i++) {
1595
elements.push(<Normal key={i} />);
1596
}
1597
elements.push(<MaybeBrokenRender key={100} />);
1598
1599
- var currentIndex = elements.length;
1599
+ let currentIndex = elements.length;
1600
while (0 !== currentIndex) {
1601
- var randomIndex = Math.floor(Math.random() * currentIndex);
1601
+ const randomIndex = Math.floor(Math.random() * currentIndex);
1602
currentIndex -= 1;
1603
- var temporaryValue = elements[currentIndex];
1603
+ const temporaryValue = elements[currentIndex];
1604
elements[currentIndex] = elements[randomIndex];
1605
elements[randomIndex] = temporaryValue;
1606
}
@@ -1616,8 +1616,8 @@ describe('ReactErrorBoundaries', () => {
1616
}
1617
}
1618
1619
- var fail = false;
1620
- var container = document.createElement('div');
1619
+ let fail = false;
1620
+ const container = document.createElement('div');
1621
ReactDOM.render(
1622
<ErrorBoundary>{getAMixOfNormalAndBrokenRenderElements()}</ErrorBoundary>,
1623
container,
@@ -1637,7 +1637,7 @@ describe('ReactErrorBoundaries', () => {
1637
});
1638
1639
it('catches errors originating downstream', () => {
1640
- var fail = false;
1640
+ let fail = false;
1641
class Stateful extends React.Component {
1642
state = {shouldThrow: false};
1643
@@ -1650,8 +1650,8 @@ describe('ReactErrorBoundaries', () => {
1650
}
1651
}
1652
1653
- var statefulInst;
1654
- var container = document.createElement('div');
1653
+ let statefulInst;
1654
+ const container = document.createElement('div');
1655
ReactDOM.render(
1656
<ErrorBoundary>
1657
<Stateful ref={inst => (statefulInst = inst)} />
@@ -1679,7 +1679,7 @@ describe('ReactErrorBoundaries', () => {
1679
});
1680
1681
it('catches errors in componentDidMount', () => {
1682
- var container = document.createElement('div');
1682
+ const container = document.createElement('div');
1683
ReactDOM.render(
1684
<ErrorBoundary>
1685
<BrokenComponentWillUnmount>
@@ -1734,7 +1734,7 @@ describe('ReactErrorBoundaries', () => {
1734
});
1735
1736
it('catches errors in componentDidUpdate', () => {
1737
- var container = document.createElement('div');
1737
+ const container = document.createElement('div');
1738
ReactDOM.render(
1739
<ErrorBoundary>
1740
<BrokenComponentDidUpdate />
@@ -1773,7 +1773,7 @@ describe('ReactErrorBoundaries', () => {
1773
});
1774
1775
it('propagates errors inside boundary during componentDidMount', () => {
1776
- var container = document.createElement('div');
1776
+ const container = document.createElement('div');
1777
ReactDOM.render(
1778
<ErrorBoundary>
1779
<BrokenComponentDidMountErrorBoundary
@@ -1817,7 +1817,7 @@ describe('ReactErrorBoundaries', () => {
1817
return <div>Caught an updating error: {error.message}.</div>;
1818
}
1819
1820
- var container = document.createElement('div');
1820
+ const container = document.createElement('div');
1821
ReactDOM.render(
1822
<ErrorBoundary logName="OuterErrorBoundary">
1823
<ErrorBoundary
@@ -1934,7 +1934,7 @@ describe('ReactErrorBoundaries', () => {
1934
});
1935
1936
it('renders empty output if error boundary does not handle the error', () => {
1937
- var container = document.createElement('div');
1937
+ const container = document.createElement('div');
1938
ReactDOM.render(
1939
<div>
1940
Sibling
@@ -1985,7 +1985,7 @@ describe('ReactErrorBoundaries', () => {
1985
}
1986
}
1987
1988
- var container = document.createElement('div');
1988
+ const container = document.createElement('div');
1989
try {
1990
// Here, we test the behavior where there is no error boundary and we
1991
// delegate to the host root.
packages/react-dom/src/__tests__/ReactEventIndependence-test.js
+11
-11
@@ -9,9 +9,9 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactTestUtils;
12
+let React;
13
+let ReactDOM;
14
+let ReactTestUtils;
15
16
describe('ReactEventIndependence', () => {
17
beforeEach(() => {
@@ -23,8 +23,8 @@ describe('ReactEventIndependence', () => {
23
});
24
25
it('does not crash with other react inside', () => {
26
- var clicks = 0;
27
- var div = ReactTestUtils.renderIntoDocument(
26
+ let clicks = 0;
27
+ const div = ReactTestUtils.renderIntoDocument(
28
<div
29
onClick={() => clicks++}
30
dangerouslySetInnerHTML={{
@@ -37,10 +37,10 @@ describe('ReactEventIndependence', () => {
37
});
38
39
it('does not crash with other react outside', () => {
40
- var clicks = 0;
41
- var outer = document.createElement('div');
40
+ let clicks = 0;
41
+ const outer = document.createElement('div');
42
outer.setAttribute('data-reactid', '.z');
43
- var inner = ReactDOM.render(
43
+ const inner = ReactDOM.render(
44
<button onClick={() => clicks++}>click me</button>,
45
outer,
46
);
@@ -49,9 +49,9 @@ describe('ReactEventIndependence', () => {
49
});
50
51
it('does not when event fired on unmounted tree', () => {
52
- var clicks = 0;
53
- var container = document.createElement('div');
54
- var button = ReactDOM.render(
52
+ let clicks = 0;
53
+ const container = document.createElement('div');
54
+ const button = ReactDOM.render(
55
<button onClick={() => clicks++}>click me</button>,
56
container,
57
);
packages/react-dom/src/__tests__/ReactIdentity-test.js
+32
-32
@@ -9,9 +9,9 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactTestUtils;
12
+let React;
13
+let ReactDOM;
14
+let ReactTestUtils;
15
16
describe('ReactIdentity', () => {
17
beforeEach(() => {
@@ -22,19 +22,19 @@ describe('ReactIdentity', () => {
22
});
23
24
it('should allow key property to express identity', () => {
25
- var node;
26
- var Component = props => (
25
+ let node;
26
+ const Component = props => (
27
<div ref={c => (node = c)}>
28
<div key={props.swap ? 'banana' : 'apple'} />
29
<div key={props.swap ? 'apple' : 'banana'} />
30
</div>
31
);
32
33
- var container = document.createElement('div');
33
+ const container = document.createElement('div');
34
ReactDOM.render(<Component />, container);
35
- var origChildren = Array.from(node.childNodes);
35
+ const origChildren = Array.from(node.childNodes);
36
ReactDOM.render(<Component swap={true} />, container);
37
- var newChildren = Array.from(node.childNodes);
37
+ const newChildren = Array.from(node.childNodes);
38
expect(origChildren[0]).toBe(newChildren[1]);
39
expect(origChildren[1]).toBe(newChildren[0]);
40
});
@@ -46,9 +46,9 @@ describe('ReactIdentity', () => {
46
}
47
}
48
49
- var container = document.createElement('div');
50
- var node1;
51
- var node2;
49
+ const container = document.createElement('div');
50
+ let node1;
51
+ let node2;
52
ReactDOM.render(
53
<Wrapper key="wrap1">
54
<span ref={c => (node1 = c)} />
@@ -76,20 +76,20 @@ describe('ReactIdentity', () => {
76
}
77
}
78
79
- var instance = ReactDOM.render(<Wrapper />, container);
80
- var span = instance.refs.span;
79
+ const instance = ReactDOM.render(<Wrapper />, container);
80
+ const span = instance.refs.span;
81
expect(ReactDOM.findDOMNode(span)).not.toBe(null);
82
}
83
84
it('should allow any character as a key, in a detached parent', () => {
85
- var detachedContainer = document.createElement('div');
85
+ const detachedContainer = document.createElement('div');
86
renderAComponentWithKeyIntoContainer("<'WEIRD/&\\key'>", detachedContainer);
87
});
88
89
it('should allow any character as a key, in an attached parent', () => {
90
// This test exists to protect against implementation details that
91
// incorrectly query escaped IDs using DOM tools like getElementById.
92
- var attachedContainer = document.createElement('div');
92
+ const attachedContainer = document.createElement('div');
93
document.body.appendChild(attachedContainer);
94
95
renderAComponentWithKeyIntoContainer("<'WEIRD/&\\key'>", attachedContainer);
@@ -98,10 +98,10 @@ describe('ReactIdentity', () => {
98
});
99
100
it('should not allow scripts in keys to execute', () => {
101
- var h4x0rKey =
101
+ const h4x0rKey =
102
'"><script>window[\'YOUVEBEENH4X0RED\']=true;</script><div id="';
103
104
- var attachedContainer = document.createElement('div');
104
+ const attachedContainer = document.createElement('div');
105
document.body.appendChild(attachedContainer);
106
107
renderAComponentWithKeyIntoContainer(h4x0rKey, attachedContainer);
@@ -113,9 +113,9 @@ describe('ReactIdentity', () => {
113
});
114
115
it('should let restructured components retain their uniqueness', () => {
116
- var instance0 = <span />;
117
- var instance1 = <span />;
118
- var instance2 = <span />;
116
+ const instance0 = <span />;
117
+ const instance1 = <span />;
118
+ const instance2 = <span />;
119
120
class TestComponent extends React.Component {
121
render() {
@@ -146,9 +146,9 @@ describe('ReactIdentity', () => {
146
});
147
148
it('should let nested restructures retain their uniqueness', () => {
149
- var instance0 = <span />;
150
- var instance1 = <span />;
151
- var instance2 = <span />;
149
+ const instance0 = <span />;
150
+ const instance1 = <span />;
151
+ const instance2 = <span />;
152
153
class TestComponent extends React.Component {
154
render() {
@@ -232,26 +232,26 @@ describe('ReactIdentity', () => {
232
}
233
}
234
235
- var instance0 = <span key="A" />;
236
- var instance1 = <span key="B" />;
235
+ const instance0 = <span key="A" />;
236
+ const instance1 = <span key="B" />;
237
238
- var wrapped = <TestContainer first={instance0} second={instance1} />;
238
+ let wrapped = <TestContainer first={instance0} second={instance1} />;
239
240
wrapped = ReactDOM.render(wrapped, document.createElement('div'));
241
- var div = ReactDOM.findDOMNode(wrapped);
241
+ const div = ReactDOM.findDOMNode(wrapped);
242
243
- var beforeA = div.childNodes[0];
244
- var beforeB = div.childNodes[1];
243
+ const beforeA = div.childNodes[0];
244
+ const beforeB = div.childNodes[1];
245
wrapped.swap();
246
- var afterA = div.childNodes[1];
247
- var afterB = div.childNodes[0];
246
+ const afterA = div.childNodes[1];
247
+ const afterB = div.childNodes[0];
248
249
expect(beforeA).toBe(afterA);
250
expect(beforeB).toBe(afterB);
251
});
252
253
it('should not allow implicit and explicit keys to collide', () => {
254
- var component = (
254
+ const component = (
255
<div>
256
<span />
257
<span key="0" />
packages/react-dom/src/__tests__/ReactMockedComponent-test.js
+6
-6
@@ -9,11 +9,11 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
12
+let React;
13
+let ReactDOM;
14
15
-var MockedComponent;
16
-var ReactDOMServer;
15
+let MockedComponent;
16
+let ReactDOMServer;
17
18
describe('ReactMockedComponent', () => {
19
beforeEach(() => {
@@ -31,7 +31,7 @@ describe('ReactMockedComponent', () => {
31
});
32
33
it('should allow a mocked component to be rendered in dev', () => {
34
- var container = document.createElement('container');
34
+ const container = document.createElement('container');
35
if (__DEV__) {
36
ReactDOM.render(<MockedComponent />, container);
37
} else {
@@ -42,7 +42,7 @@ describe('ReactMockedComponent', () => {
42
});
43
44
it('should allow a mocked component to be updated in dev', () => {
45
- var container = document.createElement('container');
45
+ const container = document.createElement('container');
46
if (__DEV__) {
47
ReactDOM.render(<MockedComponent />, container);
48
} else {
packages/react-dom/src/__tests__/ReactMount-test.js
+28
-28
@@ -11,10 +11,10 @@
11
12
const {COMMENT_NODE} = require('../shared/HTMLNodeType');
13
14
-var React;
15
-var ReactDOM;
16
-var ReactDOMServer;
17
-var ReactTestUtils;
14
+let React;
15
+let ReactDOM;
16
+let ReactDOMServer;
17
+let ReactTestUtils;
18
19
describe('ReactMount', () => {
20
beforeEach(() => {
@@ -28,7 +28,7 @@ describe('ReactMount', () => {
28
29
describe('unmountComponentAtNode', () => {
30
it('throws when given a non-node', () => {
31
- var nodeArray = document.getElementsByTagName('div');
31
+ const nodeArray = document.getElementsByTagName('div');
32
expect(function() {
33
ReactDOM.unmountComponentAtNode(nodeArray);
34
}).toThrowError(
@@ -37,14 +37,14 @@ describe('ReactMount', () => {
37
});
38
39
it('returns false on non-React containers', () => {
40
- var d = document.createElement('div');
40
+ const d = document.createElement('div');
41
d.innerHTML = '<b>hellooo</b>';
42
expect(ReactDOM.unmountComponentAtNode(d)).toBe(false);
43
expect(d.textContent).toBe('hellooo');
44
});
45
46
it('returns true on React containers', () => {
47
- var d = document.createElement('div');
47
+ const d = document.createElement('div');
48
ReactDOM.render(<b>hellooo</b>, d);
49
expect(d.textContent).toBe('hellooo');
50
expect(ReactDOM.unmountComponentAtNode(d)).toBe(true);
@@ -72,7 +72,7 @@ describe('ReactMount', () => {
72
});
73
74
it('should render different components in same root', () => {
75
- var container = document.createElement('container');
75
+ const container = document.createElement('container');
76
document.body.appendChild(container);
77
78
ReactDOM.render(<div />, container);
@@ -83,10 +83,10 @@ describe('ReactMount', () => {
83
});
84
85
it('should unmount and remount if the key changes', () => {
86
- var container = document.createElement('container');
86
+ const container = document.createElement('container');
87
88
- var mockMount = jest.fn();
89
- var mockUnmount = jest.fn();
88
+ const mockMount = jest.fn();
89
+ const mockUnmount = jest.fn();
90
91
class Component extends React.Component {
92
componentDidMount = mockMount;
@@ -118,15 +118,15 @@ describe('ReactMount', () => {
118
});
119
120
it('should reuse markup if rendering to the same target twice', () => {
121
- var container = document.createElement('container');
122
- var instance1 = ReactDOM.render(<div />, container);
123
- var instance2 = ReactDOM.render(<div />, container);
121
+ const container = document.createElement('container');
122
+ const instance1 = ReactDOM.render(<div />, container);
123
+ const instance2 = ReactDOM.render(<div />, container);
124
125
expect(instance1 === instance2).toBe(true);
126
});
127
128
it('should warn if mounting into left padded rendered markup', () => {
129
- var container = document.createElement('container');
129
+ const container = document.createElement('container');
130
container.innerHTML = ReactDOMServer.renderToString(<div />) + ' ';
131
132
spyOnDev(console, 'error');
@@ -140,7 +140,7 @@ describe('ReactMount', () => {
140
});
141
142
it('should warn if mounting into right padded rendered markup', () => {
143
- var container = document.createElement('container');
143
+ const container = document.createElement('container');
144
container.innerHTML = ' ' + ReactDOMServer.renderToString(<div />);
145
146
spyOnDev(console, 'error');
@@ -154,7 +154,7 @@ describe('ReactMount', () => {
154
});
155
156
it('should not warn if mounting into non-empty node', () => {
157
- var container = document.createElement('container');
157
+ const container = document.createElement('container');
158
container.innerHTML = '<div></div>';
159
160
spyOnDev(console, 'error');
@@ -165,7 +165,7 @@ describe('ReactMount', () => {
165
});
166
167
it('should warn when mounting into document.body', () => {
168
- var iFrame = document.createElement('iframe');
168
+ const iFrame = document.createElement('iframe');
169
document.body.appendChild(iFrame);
170
spyOnDev(console, 'error');
171
@@ -180,8 +180,8 @@ describe('ReactMount', () => {
180
});
181
182
it('should account for escaping on a checksum mismatch', () => {
183
- var div = document.createElement('div');
184
- var markup = ReactDOMServer.renderToString(
183
+ const div = document.createElement('div');
184
+ const markup = ReactDOMServer.renderToString(
185
<div>This markup contains an nbsp entity: server text</div>,
186
);
187
div.innerHTML = markup;
@@ -201,7 +201,7 @@ describe('ReactMount', () => {
201
});
202
203
it('should warn if render removes React-rendered children', () => {
204
- var container = document.createElement('container');
204
+ const container = document.createElement('container');
205
206
class Component extends React.Component {
207
render() {
@@ -217,7 +217,7 @@ describe('ReactMount', () => {
217
218
// Test that blasting away children throws a warning
219
spyOnDev(console, 'error');
220
- var rootNode = container.firstChild;
220
+ const rootNode = container.firstChild;
221
ReactDOM.render(<span />, rootNode);
222
if (__DEV__) {
223
expect(console.error.calls.count()).toBe(1);
@@ -232,8 +232,8 @@ describe('ReactMount', () => {
232
233
it('should warn if the unmounted node was rendered by another copy of React', () => {
234
jest.resetModules();
235
- var ReactDOMOther = require('react-dom');
236
- var container = document.createElement('div');
235
+ const ReactDOMOther = require('react-dom');
236
+ const container = document.createElement('div');
237
238
class Component extends React.Component {
239
render() {
@@ -267,8 +267,8 @@ describe('ReactMount', () => {
267
});
268
269
it('passes the correct callback context', () => {
270
- var container = document.createElement('div');
271
- var calls = 0;
270
+ const container = document.createElement('div');
271
+ let calls = 0;
272
273
ReactDOM.render(<div />, container, function() {
274
expect(this.nodeName).toBe('DIV');
@@ -307,8 +307,8 @@ describe('ReactMount', () => {
307
});
308
309
it('initial mount is sync inside batchedUpdates, but task work is deferred until the end of the batch', () => {
310
- var container1 = document.createElement('div');
311
- var container2 = document.createElement('div');
310
+ const container1 = document.createElement('div');
311
+ const container2 = document.createElement('div');
312
313
class Foo extends React.Component {
314
state = {active: false};
packages/react-dom/src/__tests__/ReactMountDestruction-test.js
+13
-13
@@ -9,21 +9,21 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var ReactDOM = require('react-dom');
12
+const React = require('react');
13
+const ReactDOM = require('react-dom');
14
15
describe('ReactMount', () => {
16
it('should destroy a react root upon request', () => {
17
- var mainContainerDiv = document.createElement('div');
17
+ const mainContainerDiv = document.createElement('div');
18
document.body.appendChild(mainContainerDiv);
19
20
- var instanceOne = <div className="firstReactDiv" />;
21
- var firstRootDiv = document.createElement('div');
20
+ const instanceOne = <div className="firstReactDiv" />;
21
+ const firstRootDiv = document.createElement('div');
22
mainContainerDiv.appendChild(firstRootDiv);
23
ReactDOM.render(instanceOne, firstRootDiv);
24
25
- var instanceTwo = <div className="secondReactDiv" />;
26
- var secondRootDiv = document.createElement('div');
25
+ const instanceTwo = <div className="secondReactDiv" />;
26
+ const secondRootDiv = document.createElement('div');
27
mainContainerDiv.appendChild(secondRootDiv);
28
ReactDOM.render(instanceTwo, secondRootDiv);
29
@@ -39,9 +39,9 @@ describe('ReactMount', () => {
39
});
40
41
it('should warn when unmounting a non-container root node', () => {
42
- var mainContainerDiv = document.createElement('div');
42
+ const mainContainerDiv = document.createElement('div');
43
44
- var component = (
44
+ const component = (
45
<div>
46
<div />
47
</div>
@@ -49,7 +49,7 @@ describe('ReactMount', () => {
49
ReactDOM.render(component, mainContainerDiv);
50
51
// Test that unmounting at a root node gives a helpful warning
52
- var rootDiv = mainContainerDiv.firstChild;
52
+ const rootDiv = mainContainerDiv.firstChild;
53
spyOnDev(console, 'error');
54
ReactDOM.unmountComponentAtNode(rootDiv);
55
if (__DEV__) {
@@ -64,9 +64,9 @@ describe('ReactMount', () => {
64
});
65
66
it('should warn when unmounting a non-container, non-root node', () => {
67
- var mainContainerDiv = document.createElement('div');
67
+ const mainContainerDiv = document.createElement('div');
68
69
- var component = (
69
+ const component = (
70
<div>
71
<div>
72
<div />
@@ -76,7 +76,7 @@ describe('ReactMount', () => {
76
ReactDOM.render(component, mainContainerDiv);
77
78
// Test that unmounting at a non-root node gives a different warning
79
- var nonRootDiv = mainContainerDiv.firstChild.firstChild;
79
+ const nonRootDiv = mainContainerDiv.firstChild.firstChild;
80
spyOnDev(console, 'error');
81
ReactDOM.unmountComponentAtNode(nonRootDiv);
82
if (__DEV__) {
packages/react-dom/src/__tests__/ReactMultiChild-test.js
+24
-24
@@ -14,8 +14,8 @@ describe('ReactMultiChild', () => {
14
return str && str.replace(/\(at .+?:\d+\)/g, '(at **)');
15
}
16
17
- var React;
18
- var ReactDOM;
17
+ let React;
18
+ let ReactDOM;
19
20
beforeEach(() => {
21
jest.resetModules();
@@ -25,11 +25,11 @@ describe('ReactMultiChild', () => {
25
26
describe('reconciliation', () => {
27
it('should update children when possible', () => {
28
- var container = document.createElement('div');
28
+ const container = document.createElement('div');
29
30
- var mockMount = jest.fn();
31
- var mockUpdate = jest.fn();
32
- var mockUnmount = jest.fn();
30
+ const mockMount = jest.fn();
31
+ const mockUpdate = jest.fn();
32
+ const mockUnmount = jest.fn();
33
34
class MockComponent extends React.Component {
35
componentDidMount = mockMount;
@@ -68,10 +68,10 @@ describe('ReactMultiChild', () => {
68
});
69
70
it('should replace children with different constructors', () => {
71
- var container = document.createElement('div');
71
+ const container = document.createElement('div');
72
73
- var mockMount = jest.fn();
74
- var mockUnmount = jest.fn();
73
+ const mockMount = jest.fn();
74
+ const mockUnmount = jest.fn();
75
76
class MockComponent extends React.Component {
77
componentDidMount = mockMount;
@@ -106,10 +106,10 @@ describe('ReactMultiChild', () => {
106
});
107
108
it('should NOT replace children with different owners', () => {
109
- var container = document.createElement('div');
109
+ const container = document.createElement('div');
110
111
- var mockMount = jest.fn();
112
- var mockUnmount = jest.fn();
111
+ const mockMount = jest.fn();
112
+ const mockUnmount = jest.fn();
113
114
class MockComponent extends React.Component {
115
componentDidMount = mockMount;
@@ -145,10 +145,10 @@ describe('ReactMultiChild', () => {
145
});
146
147
it('should replace children with different keys', () => {
148
- var container = document.createElement('div');
148
+ const container = document.createElement('div');
149
150
- var mockMount = jest.fn();
151
- var mockUnmount = jest.fn();
150
+ const mockMount = jest.fn();
151
+ const mockUnmount = jest.fn();
152
153
class MockComponent extends React.Component {
154
componentDidMount = mockMount;
@@ -185,7 +185,7 @@ describe('ReactMultiChild', () => {
185
it('should warn for duplicated array keys with component stack info', () => {
186
spyOnDev(console, 'error');
187
188
- var container = document.createElement('div');
188
+ const container = document.createElement('div');
189
190
class WrapperComponent extends React.Component {
191
render() {
@@ -231,7 +231,7 @@ describe('ReactMultiChild', () => {
231
it('should warn for duplicated iterable keys with component stack info', () => {
232
spyOnDev(console, 'error');
233
234
- var container = document.createElement('div');
234
+ const container = document.createElement('div');
235
236
class WrapperComponent extends React.Component {
237
render() {
@@ -252,7 +252,7 @@ describe('ReactMultiChild', () => {
252
function createIterable(array) {
253
return {
254
'@@iterator': function() {
255
- var i = 0;
255
+ let i = 0;
256
return {
257
next() {
258
const next = {
@@ -303,7 +303,7 @@ describe('ReactMultiChild', () => {
303
return <div>{new Map([['foo', 0], ['bar', 1]])}</div>;
304
}
305
}
306
- var container = document.createElement('div');
306
+ const container = document.createElement('div');
307
ReactDOM.render(<Parent />, container);
308
if (__DEV__) {
309
expect(console.error.calls.count()).toBe(1);
@@ -342,7 +342,7 @@ describe('ReactMultiChild', () => {
342
}
343
}
344
345
- var container = document.createElement('div');
345
+ const container = document.createElement('div');
346
347
// Two random strings -- some additions, some removals, some moves
348
ReactDOM.render(<Letters letters="XKwHomsNjIkBcQWFbiZU" />, container);
@@ -352,7 +352,7 @@ describe('ReactMultiChild', () => {
352
});
353
354
it('prepares new children before unmounting old', () => {
355
- var log = [];
355
+ const log = [];
356
357
class Spy extends React.Component {
358
componentWillMount() {
@@ -372,10 +372,10 @@ describe('ReactMultiChild', () => {
372
373
// These are reference-unequal so they will be swapped even if they have
374
// matching keys
375
- var SpyA = props => <Spy {...props} />;
376
- var SpyB = props => <Spy {...props} />;
375
+ const SpyA = props => <Spy {...props} />;
376
+ const SpyB = props => <Spy {...props} />;
377
378
- var container = document.createElement('div');
378
+ const container = document.createElement('div');
379
ReactDOM.render(
380
<div>
381
<SpyA key="one" name="oneA" />
packages/react-dom/src/__tests__/ReactMultiChildReconcile-test.js
+68
-68
@@ -9,12 +9,12 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var ReactDOM = require('react-dom');
12
+const React = require('react');
13
+const ReactDOM = require('react-dom');
14
15
-var stripEmptyValues = function(obj) {
16
- var ret = {};
17
- for (var name in obj) {
15
+const stripEmptyValues = function(obj) {
16
+ const ret = {};
17
+ for (const name in obj) {
18
if (!obj.hasOwnProperty(name)) {
19
continue;
20
}
@@ -25,7 +25,7 @@ var stripEmptyValues = function(obj) {
25
return ret;
26
};
27
28
-var idCounter = 123;
28
+let idCounter = 123;
29
30
/**
31
* Contains internal static internal state in order to test that updates to
@@ -66,8 +66,8 @@ class FriendsStatusDisplay extends React.Component {
66
* `this._renderedChildren` (surprisingly).
67
*/
68
getOriginalKeys() {
69
- var originalKeys = [];
70
- for (var key in this.props.usernameToStatus) {
69
+ const originalKeys = [];
70
+ for (const key in this.props.usernameToStatus) {
71
if (this.props.usernameToStatus[key]) {
72
originalKeys.push(key);
73
}
@@ -80,10 +80,10 @@ class FriendsStatusDisplay extends React.Component {
80
* `this.props.usernameToStatus`.
81
*/
82
getStatusDisplays() {
83
- var res = {};
84
- var originalKeys = this.getOriginalKeys();
85
- for (var i = 0; i < originalKeys.length; i++) {
86
- var key = originalKeys[i];
83
+ const res = {};
84
+ const originalKeys = this.getOriginalKeys();
85
+ for (let i = 0; i < originalKeys.length; i++) {
86
+ const key = originalKeys[i];
87
res[key] = this.refs[key];
88
}
89
return res;
@@ -97,9 +97,9 @@ class FriendsStatusDisplay extends React.Component {
97
* it to be more declarative before making ref resolution indeterministic.
98
*/
99
verifyPreviousRefsResolved(flushedKey) {
100
- var originalKeys = this.getOriginalKeys();
101
- for (var i = 0; i < originalKeys.length; i++) {
102
- var key = originalKeys[i];
100
+ const originalKeys = this.getOriginalKeys();
101
+ for (let i = 0; i < originalKeys.length; i++) {
102
+ const key = originalKeys[i];
103
if (key === flushedKey) {
104
// We are only interested in children up to the current key.
105
return;
@@ -109,9 +109,9 @@ class FriendsStatusDisplay extends React.Component {
109
}
110
111
render() {
112
- var children = [];
113
- for (var key in this.props.usernameToStatus) {
114
- var status = this.props.usernameToStatus[key];
112
+ const children = [];
113
+ for (const key in this.props.usernameToStatus) {
114
+ const status = this.props.usernameToStatus[key];
115
children.push(
116
!status ? null : (
117
<StatusDisplay
@@ -124,7 +124,7 @@ class FriendsStatusDisplay extends React.Component {
124
),
125
);
126
}
127
- var childrenToRender = this.props.prepareChildren(children);
127
+ const childrenToRender = this.props.prepareChildren(children);
128
return <div>{childrenToRender}</div>;
129
}
130
}
@@ -142,9 +142,9 @@ function getInternalStateByUserName(statusDisplays) {
142
* message as well as the order of them.
143
*/
144
function verifyStatuses(statusDisplays, props) {
145
- var nonEmptyStatusDisplays = stripEmptyValues(statusDisplays);
146
- var nonEmptyStatusProps = stripEmptyValues(props.usernameToStatus);
147
- var username;
145
+ const nonEmptyStatusDisplays = stripEmptyValues(statusDisplays);
146
+ const nonEmptyStatusProps = stripEmptyValues(props.usernameToStatus);
147
+ let username;
148
expect(Object.keys(nonEmptyStatusDisplays).length).toEqual(
149
Object.keys(nonEmptyStatusProps).length,
150
);
@@ -179,7 +179,7 @@ function verifyStatuses(statusDisplays, props) {
179
* movements.
180
*/
181
function verifyStatesPreserved(lastInternalStates, statusDisplays) {
182
- var key;
182
+ let key;
183
for (key in statusDisplays) {
184
if (!statusDisplays.hasOwnProperty(key)) {
185
continue;
@@ -197,37 +197,37 @@ function verifyStatesPreserved(lastInternalStates, statusDisplays) {
197
* accurately reflects what is in the DOM.
198
*/
199
function verifyDomOrderingAccurate(outerContainer, statusDisplays) {
200
- var containerNode = outerContainer.firstChild;
201
- var statusDisplayNodes = containerNode.childNodes;
202
- var orderedDomKeys = [];
203
- for (var i = 0; i < statusDisplayNodes.length; i++) {
204
- var contentKey = statusDisplayNodes[i].textContent;
200
+ const containerNode = outerContainer.firstChild;
201
+ const statusDisplayNodes = containerNode.childNodes;
202
+ const orderedDomKeys = [];
203
+ for (let i = 0; i < statusDisplayNodes.length; i++) {
204
+ const contentKey = statusDisplayNodes[i].textContent;
205
orderedDomKeys.push(contentKey);
206
}
207
208
- var orderedLogicalKeys = [];
209
- var username;
208
+ const orderedLogicalKeys = [];
209
+ let username;
210
for (username in statusDisplays) {
211
if (!statusDisplays.hasOwnProperty(username)) {
212
continue;
213
}
214
- var statusDisplay = statusDisplays[username];
214
+ const statusDisplay = statusDisplays[username];
215
orderedLogicalKeys.push(statusDisplay.props.contentKey);
216
}
217
expect(orderedDomKeys).toEqual(orderedLogicalKeys);
218
}
219
220
function testPropsSequenceWithPreparedChildren(sequence, prepareChildren) {
221
- var container = document.createElement('div');
222
- var parentInstance = ReactDOM.render(
221
+ const container = document.createElement('div');
222
+ const parentInstance = ReactDOM.render(
223
<FriendsStatusDisplay {...sequence[0]} prepareChildren={prepareChildren} />,
224
container,
225
);
226
- var statusDisplays = parentInstance.getStatusDisplays();
227
- var lastInternalStates = getInternalStateByUserName(statusDisplays);
226
+ let statusDisplays = parentInstance.getStatusDisplays();
227
+ let lastInternalStates = getInternalStateByUserName(statusDisplays);
228
verifyStatuses(statusDisplays, sequence[0]);
229
230
- for (var i = 1; i < sequence.length; i++) {
230
+ for (let i = 1; i < sequence.length; i++) {
231
ReactDOM.render(
232
<FriendsStatusDisplay
233
{...sequence[i]}
@@ -270,22 +270,22 @@ describe('ReactMultiChildReconcile', () => {
270
271
it('should reset internal state if removed then readded in an array', () => {
272
// Test basics.
273
- var props = {
273
+ const props = {
274
usernameToStatus: {
275
jcw: 'jcwStatus',
276
},
277
};
278
279
- var container = document.createElement('div');
280
- var parentInstance = ReactDOM.render(
279
+ const container = document.createElement('div');
280
+ const parentInstance = ReactDOM.render(
281
<FriendsStatusDisplay
282
{...props}
283
prepareChildren={prepareChildrenArray}
284
/>,
285
container,
286
);
287
- var statusDisplays = parentInstance.getStatusDisplays();
288
- var startingInternalState = statusDisplays.jcw.getInternalState();
287
+ let statusDisplays = parentInstance.getStatusDisplays();
288
+ const startingInternalState = statusDisplays.jcw.getInternalState();
289
290
// Now remove the child.
291
ReactDOM.render(
@@ -312,22 +312,22 @@ describe('ReactMultiChildReconcile', () => {
312
313
it('should reset internal state if removed then readded in an iterable', () => {
314
// Test basics.
315
- var props = {
315
+ const props = {
316
usernameToStatus: {
317
jcw: 'jcwStatus',
318
},
319
};
320
321
- var container = document.createElement('div');
322
- var parentInstance = ReactDOM.render(
321
+ const container = document.createElement('div');
322
+ const parentInstance = ReactDOM.render(
323
<FriendsStatusDisplay
324
{...props}
325
prepareChildren={prepareChildrenIterable}
326
/>,
327
container,
328
);
329
- var statusDisplays = parentInstance.getStatusDisplays();
330
- var startingInternalState = statusDisplays.jcw.getInternalState();
329
+ let statusDisplays = parentInstance.getStatusDisplays();
330
+ const startingInternalState = statusDisplays.jcw.getInternalState();
331
332
// Now remove the child.
333
ReactDOM.render(
@@ -354,7 +354,7 @@ describe('ReactMultiChildReconcile', () => {
354
355
it('should create unique identity', () => {
356
// Test basics.
357
- var usernameToStatus = {
357
+ const usernameToStatus = {
358
jcw: 'jcwStatus',
359
awalke: 'awalkeStatus',
360
bob: 'bobStatus',
@@ -364,7 +364,7 @@ describe('ReactMultiChildReconcile', () => {
364
});
365
366
it('should preserve order if children order has not changed', () => {
367
- var PROPS_SEQUENCE = [
367
+ const PROPS_SEQUENCE = [
368
{
369
usernameToStatus: {
370
jcw: 'jcwStatus',
@@ -382,7 +382,7 @@ describe('ReactMultiChildReconcile', () => {
382
});
383
384
it('should transition from zero to one children correctly', () => {
385
- var PROPS_SEQUENCE = [
385
+ const PROPS_SEQUENCE = [
386
{usernameToStatus: {}},
387
{
388
usernameToStatus: {
@@ -394,7 +394,7 @@ describe('ReactMultiChildReconcile', () => {
394
});
395
396
it('should transition from one to zero children correctly', () => {
397
- var PROPS_SEQUENCE = [
397
+ const PROPS_SEQUENCE = [
398
{
399
usernameToStatus: {
400
first: 'firstStatus',
@@ -450,7 +450,7 @@ describe('ReactMultiChildReconcile', () => {
450
* of `FriendsStatusDisplay`, nothing related to React or these test cases.
451
*/
452
it('should remove nulled out children at the beginning', () => {
453
- var PROPS_SEQUENCE = [
453
+ const PROPS_SEQUENCE = [
454
{
455
usernameToStatus: {
456
jcw: 'jcwStatus',
@@ -468,7 +468,7 @@ describe('ReactMultiChildReconcile', () => {
468
});
469
470
it('should remove nulled out children at the end', () => {
471
- var PROPS_SEQUENCE = [
471
+ const PROPS_SEQUENCE = [
472
{
473
usernameToStatus: {
474
jcw: 'jcwStatus',
@@ -486,7 +486,7 @@ describe('ReactMultiChildReconcile', () => {
486
});
487
488
it('should reverse the order of two children', () => {
489
- var PROPS_SEQUENCE = [
489
+ const PROPS_SEQUENCE = [
490
{
491
usernameToStatus: {
492
userOne: 'userOneStatus',
@@ -504,7 +504,7 @@ describe('ReactMultiChildReconcile', () => {
504
});
505
506
it('should reverse the order of more than two children', () => {
507
- var PROPS_SEQUENCE = [
507
+ const PROPS_SEQUENCE = [
508
{
509
usernameToStatus: {
510
userOne: 'userOneStatus',
@@ -524,7 +524,7 @@ describe('ReactMultiChildReconcile', () => {
524
});
525
526
it('should cycle order correctly', () => {
527
- var PROPS_SEQUENCE = [
527
+ const PROPS_SEQUENCE = [
528
{
529
usernameToStatus: {
530
userOne: 'userOneStatus',
@@ -571,7 +571,7 @@ describe('ReactMultiChildReconcile', () => {
571
});
572
573
it('should cycle order correctly in the other direction', () => {
574
- var PROPS_SEQUENCE = [
574
+ const PROPS_SEQUENCE = [
575
{
576
usernameToStatus: {
577
userOne: 'userOneStatus',
@@ -618,7 +618,7 @@ describe('ReactMultiChildReconcile', () => {
618
});
619
620
it('should remove nulled out children and ignore new null children', () => {
621
- var PROPS_SEQUENCE = [
621
+ const PROPS_SEQUENCE = [
622
{
623
usernameToStatus: {
624
jcw: 'jcwStatus',
@@ -637,7 +637,7 @@ describe('ReactMultiChildReconcile', () => {
637
});
638
639
it('should remove nulled out children and reorder remaining', () => {
640
- var PROPS_SEQUENCE = [
640
+ const PROPS_SEQUENCE = [
641
{
642
usernameToStatus: {
643
jcw: 'jcwStatus',
@@ -658,7 +658,7 @@ describe('ReactMultiChildReconcile', () => {
658
});
659
660
it('should append children to the end', () => {
661
- var PROPS_SEQUENCE = [
661
+ const PROPS_SEQUENCE = [
662
{
663
usernameToStatus: {
664
jcw: 'jcwStatus',
@@ -677,7 +677,7 @@ describe('ReactMultiChildReconcile', () => {
677
});
678
679
it('should append multiple children to the end', () => {
680
- var PROPS_SEQUENCE = [
680
+ const PROPS_SEQUENCE = [
681
{
682
usernameToStatus: {
683
jcw: 'jcwStatus',
@@ -697,7 +697,7 @@ describe('ReactMultiChildReconcile', () => {
697
});
698
699
it('should prepend children to the beginning', () => {
700
- var PROPS_SEQUENCE = [
700
+ const PROPS_SEQUENCE = [
701
{
702
usernameToStatus: {
703
jcw: 'jcwStatus',
@@ -716,7 +716,7 @@ describe('ReactMultiChildReconcile', () => {
716
});
717
718
it('should prepend multiple children to the beginning', () => {
719
- var PROPS_SEQUENCE = [
719
+ const PROPS_SEQUENCE = [
720
{
721
usernameToStatus: {
722
jcw: 'jcwStatus',
@@ -736,7 +736,7 @@ describe('ReactMultiChildReconcile', () => {
736
});
737
738
it('should not prepend an empty child to the beginning', () => {
739
- var PROPS_SEQUENCE = [
739
+ const PROPS_SEQUENCE = [
740
{
741
usernameToStatus: {
742
jcw: 'jcwStatus',
@@ -755,7 +755,7 @@ describe('ReactMultiChildReconcile', () => {
755
});
756
757
it('should not append an empty child to the end', () => {
758
- var PROPS_SEQUENCE = [
758
+ const PROPS_SEQUENCE = [
759
{
760
usernameToStatus: {
761
jcw: 'jcwStatus',
@@ -774,7 +774,7 @@ describe('ReactMultiChildReconcile', () => {
774
});
775
776
it('should not insert empty children in the middle', () => {
777
- var PROPS_SEQUENCE = [
777
+ const PROPS_SEQUENCE = [
778
{
779
usernameToStatus: {
780
jcw: 'jcwStatus',
@@ -795,7 +795,7 @@ describe('ReactMultiChildReconcile', () => {
795
});
796
797
it('should insert one new child in the middle', () => {
798
- var PROPS_SEQUENCE = [
798
+ const PROPS_SEQUENCE = [
799
{
800
usernameToStatus: {
801
jcw: 'jcwStatus',
@@ -814,7 +814,7 @@ describe('ReactMultiChildReconcile', () => {
814
});
815
816
it('should insert multiple new truthy children in the middle', () => {
817
- var PROPS_SEQUENCE = [
817
+ const PROPS_SEQUENCE = [
818
{
819
usernameToStatus: {
820
jcw: 'jcwStatus',
@@ -835,7 +835,7 @@ describe('ReactMultiChildReconcile', () => {
835
});
836
837
it('should insert non-empty children in middle where nulls were', () => {
838
- var PROPS_SEQUENCE = [
838
+ const PROPS_SEQUENCE = [
839
{
840
usernameToStatus: {
841
jcw: 'jcwStatus',
packages/react-dom/src/__tests__/ReactMultiChildText-test.js
+18
-18
@@ -9,21 +9,21 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var ReactDOM = require('react-dom');
14
-var ReactTestUtils = require('react-dom/test-utils');
12
+const React = require('react');
13
+const ReactDOM = require('react-dom');
14
+const ReactTestUtils = require('react-dom/test-utils');
15
16
// Helpers
17
-var testAllPermutations = function(testCases) {
18
- for (var i = 0; i < testCases.length; i += 2) {
19
- var renderWithChildren = testCases[i];
20
- var expectedResultAfterRender = testCases[i + 1];
17
+const testAllPermutations = function(testCases) {
18
+ for (let i = 0; i < testCases.length; i += 2) {
19
+ const renderWithChildren = testCases[i];
20
+ const expectedResultAfterRender = testCases[i + 1];
21
22
- for (var j = 0; j < testCases.length; j += 2) {
23
- var updateWithChildren = testCases[j];
24
- var expectedResultAfterUpdate = testCases[j + 1];
22
+ for (let j = 0; j < testCases.length; j += 2) {
23
+ const updateWithChildren = testCases[j];
24
+ const expectedResultAfterUpdate = testCases[j + 1];
25
26
- var container = document.createElement('div');
26
+ const container = document.createElement('div');
27
ReactDOM.render(<div>{renderWithChildren}</div>, container);
28
expectChildren(container, expectedResultAfterRender);
29
@@ -33,9 +33,9 @@ var testAllPermutations = function(testCases) {
33
}
34
};
35
36
-var expectChildren = function(container, children) {
37
- var outerNode = container.firstChild;
38
- var textNode;
36
+const expectChildren = function(container, children) {
37
+ const outerNode = container.firstChild;
38
+ let textNode;
39
if (typeof children === 'string') {
40
textNode = outerNode.firstChild;
41
@@ -47,10 +47,10 @@ var expectChildren = function(container, children) {
47
expect(textNode.data).toBe('' + children);
48
}
49
} else {
50
- var mountIndex = 0;
50
+ let mountIndex = 0;
51
52
- for (var i = 0; i < children.length; i++) {
53
- var child = children[i];
52
+ for (let i = 0; i < children.length; i++) {
53
+ const child = children[i];
54
55
if (typeof child === 'string') {
56
textNode = outerNode.childNodes[mountIndex];
@@ -58,7 +58,7 @@ var expectChildren = function(container, children) {
58
expect(textNode.data).toBe('' + child);
59
mountIndex++;
60
} else {
61
- var elementDOMNode = outerNode.childNodes[mountIndex];
61
+ const elementDOMNode = outerNode.childNodes[mountIndex];
62
expect(elementDOMNode.tagName).toBe('DIV');
63
mountIndex++;
64
}
packages/react-dom/src/__tests__/ReactRenderDocument-test.js
+36
-36
@@ -9,12 +9,12 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactDOMServer;
12
+let React;
13
+let ReactDOM;
14
+let ReactDOMServer;
15
16
function getTestDocument(markup) {
17
- var doc = document.implementation.createHTMLDocument('');
17
+ const doc = document.implementation.createHTMLDocument('');
18
doc.open();
19
doc.write(
20
markup ||
@@ -60,9 +60,9 @@ describe('rendering React components at document', () => {
60
}
61
}
62
63
- var markup = ReactDOMServer.renderToString(<Root hello="world" />);
64
- var testDocument = getTestDocument(markup);
65
- var body = testDocument.body;
63
+ const markup = ReactDOMServer.renderToString(<Root hello="world" />);
64
+ const testDocument = getTestDocument(markup);
65
+ const body = testDocument.body;
66
67
ReactDOM.render(<Root hello="world" />, testDocument);
68
expect(testDocument.body.innerHTML).toBe('Hello world');
@@ -89,8 +89,8 @@ describe('rendering React components at document', () => {
89
}
90
}
91
92
- var markup = ReactDOMServer.renderToString(<Root />);
93
- var testDocument = getTestDocument(markup);
92
+ const markup = ReactDOMServer.renderToString(<Root />);
93
+ const testDocument = getTestDocument(markup);
94
ReactDOM.render(<Root />, testDocument);
95
expect(testDocument.body.innerHTML).toBe('Hello world');
96
@@ -129,8 +129,8 @@ describe('rendering React components at document', () => {
129
}
130
}
131
132
- var markup = ReactDOMServer.renderToString(<Component />);
133
- var testDocument = getTestDocument(markup);
132
+ const markup = ReactDOMServer.renderToString(<Component />);
133
+ const testDocument = getTestDocument(markup);
134
135
ReactDOM.render(<Component />, testDocument);
136
expect(testDocument.body.innerHTML).toBe('Hello world');
@@ -157,10 +157,10 @@ describe('rendering React components at document', () => {
157
}
158
}
159
160
- var markup = ReactDOMServer.renderToString(
160
+ const markup = ReactDOMServer.renderToString(
161
<Component text="Hello world" />,
162
);
163
- var testDocument = getTestDocument(markup);
163
+ const testDocument = getTestDocument(markup);
164
165
ReactDOM.render(<Component text="Hello world" />, testDocument);
166
@@ -192,10 +192,10 @@ describe('rendering React components at document', () => {
192
}
193
}
194
195
- var markup = ReactDOMServer.renderToString(
195
+ const markup = ReactDOMServer.renderToString(
196
<Component text="Goodbye world" />,
197
);
198
- var testDocument = getTestDocument(markup);
198
+ const testDocument = getTestDocument(markup);
199
200
spyOnDev(console, 'warn');
201
spyOnDev(console, 'error');
@@ -216,7 +216,7 @@ describe('rendering React components at document', () => {
216
});
217
218
it('should throw on full document render w/ no markup', () => {
219
- var testDocument = getTestDocument();
219
+ const testDocument = getTestDocument();
220
221
class Component extends React.Component {
222
render() {
@@ -240,7 +240,7 @@ describe('rendering React components at document', () => {
240
241
it('supports findDOMNode on full-page components', () => {
242
spyOnDev(console, 'warn');
243
- var tree = (
243
+ const tree = (
244
<html>
245
<head>
246
<title>Hello World</title>
@@ -249,9 +249,9 @@ describe('rendering React components at document', () => {
249
</html>
250
);
251
252
- var markup = ReactDOMServer.renderToString(tree);
253
- var testDocument = getTestDocument(markup);
254
- var component = ReactDOM.render(tree, testDocument);
252
+ const markup = ReactDOMServer.renderToString(tree);
253
+ const testDocument = getTestDocument(markup);
254
+ const component = ReactDOM.render(tree, testDocument);
255
expect(testDocument.body.innerHTML).toBe('Hello world');
256
expect(ReactDOM.findDOMNode(component).tagName).toBe('HTML');
257
expectDeprecationWarningWithFiber();
@@ -273,9 +273,9 @@ describe('rendering React components at document', () => {
273
}
274
}
275
276
- var markup = ReactDOMServer.renderToString(<Root hello="world" />);
277
- var testDocument = getTestDocument(markup);
278
- var body = testDocument.body;
276
+ const markup = ReactDOMServer.renderToString(<Root hello="world" />);
277
+ const testDocument = getTestDocument(markup);
278
+ const body = testDocument.body;
279
280
ReactDOM.hydrate(<Root hello="world" />, testDocument);
281
expect(testDocument.body.innerHTML).toBe('Hello world');
@@ -300,8 +300,8 @@ describe('rendering React components at document', () => {
300
}
301
}
302
303
- var markup = ReactDOMServer.renderToString(<Root />);
304
- var testDocument = getTestDocument(markup);
303
+ const markup = ReactDOMServer.renderToString(<Root />);
304
+ const testDocument = getTestDocument(markup);
305
ReactDOM.hydrate(<Root />, testDocument);
306
expect(testDocument.body.innerHTML).toBe('Hello world');
307
@@ -337,8 +337,8 @@ describe('rendering React components at document', () => {
337
}
338
}
339
340
- var markup = ReactDOMServer.renderToString(<Component />);
341
- var testDocument = getTestDocument(markup);
340
+ const markup = ReactDOMServer.renderToString(<Component />);
341
+ const testDocument = getTestDocument(markup);
342
343
ReactDOM.hydrate(<Component />, testDocument);
344
@@ -364,10 +364,10 @@ describe('rendering React components at document', () => {
364
}
365
}
366
367
- var markup = ReactDOMServer.renderToString(
367
+ const markup = ReactDOMServer.renderToString(
368
<Component text="Hello world" />,
369
);
370
- var testDocument = getTestDocument(markup);
370
+ const testDocument = getTestDocument(markup);
371
372
ReactDOM.hydrate(<Component text="Hello world" />, testDocument);
373
@@ -402,10 +402,10 @@ describe('rendering React components at document', () => {
402
}
403
}
404
405
- var markup = ReactDOMServer.renderToString(
405
+ const markup = ReactDOMServer.renderToString(
406
<Component text="Goodbye world" />,
407
);
408
- var testDocument = getTestDocument(markup);
408
+ const testDocument = getTestDocument(markup);
409
410
spyOnDev(console, 'error');
411
ReactDOM.hydrate(<Component text="Hello world" />, testDocument);
@@ -420,7 +420,7 @@ describe('rendering React components at document', () => {
420
421
it('should render w/ no markup to full document', () => {
422
spyOnDev(console, 'error');
423
- var testDocument = getTestDocument();
423
+ const testDocument = getTestDocument();
424
425
class Component extends React.Component {
426
render() {
@@ -447,7 +447,7 @@ describe('rendering React components at document', () => {
447
});
448
449
it('supports findDOMNode on full-page components', () => {
450
- var tree = (
450
+ const tree = (
451
<html>
452
<head>
453
<title>Hello World</title>
@@ -456,9 +456,9 @@ describe('rendering React components at document', () => {
456
</html>
457
);
458
459
- var markup = ReactDOMServer.renderToString(tree);
460
- var testDocument = getTestDocument(markup);
461
- var component = ReactDOM.hydrate(tree, testDocument);
459
+ const markup = ReactDOMServer.renderToString(tree);
460
+ const testDocument = getTestDocument(markup);
461
+ const component = ReactDOM.hydrate(tree, testDocument);
462
expect(testDocument.body.innerHTML).toBe('Hello world');
463
expect(ReactDOM.findDOMNode(component).tagName).toBe('HTML');
464
});
packages/react-dom/src/__tests__/ReactServerRendering-test.js
+37
-37
@@ -9,12 +9,12 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactCallReturn;
14
-var ReactDOM;
15
-var ReactDOMServer;
16
-var ReactTestUtils;
17
-var PropTypes;
12
+let React;
13
+let ReactCallReturn;
14
+let ReactDOM;
15
+let ReactDOMServer;
16
+let ReactTestUtils;
17
+let PropTypes;
18
19
function normalizeCodeLocInfo(str) {
20
return str && str.replace(/\(at .+?:\d+\)/g, '(at **)');
@@ -33,14 +33,14 @@ describe('ReactDOMServer', () => {
33
34
describe('renderToString', () => {
35
it('should generate simple markup', () => {
36
- var response = ReactDOMServer.renderToString(<span>hello world</span>);
36
+ const response = ReactDOMServer.renderToString(<span>hello world</span>);
37
expect(response).toMatch(
38
new RegExp('<span data-reactroot=""' + '>hello world</span>'),
39
);
40
});
41
42
it('should generate simple markup for self-closing tags', () => {
43
- var response = ReactDOMServer.renderToString(<img />);
43
+ const response = ReactDOMServer.renderToString(<img />);
44
expect(response).toMatch(new RegExp('<img data-reactroot=""' + '/>'));
45
});
46
@@ -51,7 +51,7 @@ describe('ReactDOMServer', () => {
51
}
52
}
53
54
- var response = ReactDOMServer.renderToString(<NullComponent />);
54
+ const response = ReactDOMServer.renderToString(<NullComponent />);
55
expect(response).toBe('');
56
});
57
@@ -74,7 +74,7 @@ describe('ReactDOMServer', () => {
74
}
75
}
76
77
- var response = ReactDOMServer.renderToString(<Parent />);
77
+ const response = ReactDOMServer.renderToString(<Parent />);
78
expect(response).toMatch(
79
new RegExp(
80
'<div ' +
@@ -92,7 +92,7 @@ describe('ReactDOMServer', () => {
92
93
it('should only execute certain lifecycle methods', () => {
94
function runTest() {
95
- var lifecycle = [];
95
+ const lifecycle = [];
96
97
class TestComponent extends React.Component {
98
constructor(props) {
@@ -135,7 +135,7 @@ describe('ReactDOMServer', () => {
135
}
136
}
137
138
- var response = ReactDOMServer.renderToString(<TestComponent />);
138
+ const response = ReactDOMServer.renderToString(<TestComponent />);
139
140
expect(response).toMatch(
141
new RegExp(
@@ -161,8 +161,8 @@ describe('ReactDOMServer', () => {
161
spyOnDev(console, 'warn');
162
spyOnDev(console, 'error');
163
164
- var mountCount = 0;
165
- var numClicks = 0;
164
+ let mountCount = 0;
165
+ let numClicks = 0;
166
167
class TestComponent extends React.Component {
168
componentDidMount() {
@@ -182,10 +182,10 @@ describe('ReactDOMServer', () => {
182
}
183
}
184
185
- var element = document.createElement('div');
185
+ const element = document.createElement('div');
186
ReactDOM.render(<TestComponent />, element);
187
188
- var lastMarkup = element.innerHTML;
188
+ let lastMarkup = element.innerHTML;
189
190
// Exercise the update path. Markup should not change,
191
// but some lifecycle methods should be run again.
@@ -210,7 +210,7 @@ describe('ReactDOMServer', () => {
210
lastMarkup = ReactDOMServer.renderToString(<TestComponent name="x" />);
211
element.innerHTML = lastMarkup;
212
213
- var instance = ReactDOM.render(<TestComponent name="x" />, element);
213
+ let instance = ReactDOM.render(<TestComponent name="x" />, element);
214
expect(mountCount).toEqual(3);
215
if (__DEV__) {
216
expect(console.warn.calls.count()).toBe(1);
@@ -259,8 +259,8 @@ describe('ReactDOMServer', () => {
259
it('should have the correct mounting behavior (new hydrate API)', () => {
260
spyOnDev(console, 'error');
261
262
- var mountCount = 0;
263
- var numClicks = 0;
262
+ let mountCount = 0;
263
+ let numClicks = 0;
264
265
class TestComponent extends React.Component {
266
componentDidMount() {
@@ -280,10 +280,10 @@ describe('ReactDOMServer', () => {
280
}
281
}
282
283
- var element = document.createElement('div');
283
+ const element = document.createElement('div');
284
ReactDOM.render(<TestComponent />, element);
285
286
- var lastMarkup = element.innerHTML;
286
+ let lastMarkup = element.innerHTML;
287
288
// Exercise the update path. Markup should not change,
289
// but some lifecycle methods should be run again.
@@ -308,7 +308,7 @@ describe('ReactDOMServer', () => {
308
lastMarkup = ReactDOMServer.renderToString(<TestComponent name="x" />);
309
element.innerHTML = lastMarkup;
310
311
- var instance = ReactDOM.hydrate(<TestComponent name="x" />, element);
311
+ let instance = ReactDOM.hydrate(<TestComponent name="x" />, element);
312
expect(mountCount).toEqual(3);
313
expect(element.innerHTML).toBe(lastMarkup);
314
@@ -341,7 +341,7 @@ describe('ReactDOMServer', () => {
341
// want it to call focus() when hydrating because this can mess up existing
342
// focus before the JS has loaded.
343
it('should emit autofocus on the server but not focus() when hydrating', () => {
344
- var element = document.createElement('div');
344
+ const element = document.createElement('div');
345
element.innerHTML = ReactDOMServer.renderToString(
346
<input autoFocus={true} />,
347
);
@@ -358,7 +358,7 @@ describe('ReactDOMServer', () => {
358
});
359
360
it('should not focus on either server or client with autofocus={false}', () => {
361
- var element = document.createElement('div');
361
+ const element = document.createElement('div');
362
element.innerHTML = ReactDOMServer.renderToString(
363
<input autoFocus={false} />,
364
);
@@ -414,7 +414,7 @@ describe('ReactDOMServer', () => {
414
}
415
}
416
417
- var response = ReactDOMServer.renderToStaticMarkup(<TestComponent />);
417
+ const response = ReactDOMServer.renderToStaticMarkup(<TestComponent />);
418
419
expect(response).toBe('<span><div>inner text</div></span>');
420
});
@@ -430,7 +430,7 @@ describe('ReactDOMServer', () => {
430
}
431
}
432
433
- var response = ReactDOMServer.renderToStaticMarkup(<TestComponent />);
433
+ const response = ReactDOMServer.renderToStaticMarkup(<TestComponent />);
434
435
expect(response).toBe('<span>hello world</span>');
436
});
@@ -442,14 +442,14 @@ describe('ReactDOMServer', () => {
442
}
443
}
444
445
- var response = ReactDOMServer.renderToStaticMarkup(<TestComponent />);
445
+ const response = ReactDOMServer.renderToStaticMarkup(<TestComponent />);
446
447
expect(response).toBe('');
448
});
449
450
it('should only execute certain lifecycle methods', () => {
451
function runTest() {
452
- var lifecycle = [];
452
+ const lifecycle = [];
453
454
class TestComponent extends React.Component {
455
constructor(props) {
@@ -492,7 +492,7 @@ describe('ReactDOMServer', () => {
492
}
493
}
494
495
- var response = ReactDOMServer.renderToStaticMarkup(<TestComponent />);
495
+ const response = ReactDOMServer.renderToStaticMarkup(<TestComponent />);
496
497
expect(response).toBe('<span>Component name: TestComponent</span>');
498
expect(lifecycle).toEqual([
@@ -523,7 +523,7 @@ describe('ReactDOMServer', () => {
523
return <div>{this.state.text}</div>;
524
}
525
}
526
- var markup = ReactDOMServer.renderToString(<Component />);
526
+ const markup = ReactDOMServer.renderToString(<Component />);
527
expect(markup).toContain('hello, world');
528
});
529
@@ -542,7 +542,7 @@ describe('ReactDOMServer', () => {
542
return <div>{this.state.text}</div>;
543
}
544
}
545
- var markup = ReactDOMServer.renderToString(<Component />);
545
+ const markup = ReactDOMServer.renderToString(<Component />);
546
expect(markup).toContain('hello, world');
547
});
548
@@ -557,7 +557,7 @@ describe('ReactDOMServer', () => {
557
}
558
}
559
560
- var markup = ReactDOMServer.renderToString(
560
+ const markup = ReactDOMServer.renderToString(
561
<Component text="hello, world" />,
562
);
563
expect(markup).toContain('hello, world');
@@ -594,7 +594,7 @@ describe('ReactDOMServer', () => {
594
text: PropTypes.string,
595
};
596
597
- var markup = ReactDOMServer.renderToString(
597
+ const markup = ReactDOMServer.renderToString(
598
<ContextProvider>
599
<Component />
600
</ContextProvider>,
@@ -661,7 +661,7 @@ describe('ReactDOMServer', () => {
661
);
662
}
663
664
- var markup = ReactDOMServer.renderToStaticMarkup(<Foo />);
664
+ const markup = ReactDOMServer.renderToStaticMarkup(<Foo />);
665
expect(markup).toBe('<div>hello</div>');
666
jest.runOnlyPendingTimers();
667
if (__DEV__) {
@@ -694,7 +694,7 @@ describe('ReactDOMServer', () => {
694
'This is a no-op.\n\nPlease check the code for the Baz component.',
695
);
696
}
697
- var markup = ReactDOMServer.renderToStaticMarkup(<Baz />);
697
+ const markup = ReactDOMServer.renderToStaticMarkup(<Baz />);
698
expect(markup).toBe('<div></div>');
699
});
700
@@ -776,7 +776,7 @@ describe('ReactDOMServer', () => {
776
});
777
778
it('should throw rendering portals on the server', () => {
779
- var div = document.createElement('div');
779
+ const div = document.createElement('div');
780
expect(() => {
781
ReactDOMServer.renderToString(
782
<div>{ReactDOM.createPortal(<div />, div)}</div>,
@@ -788,7 +788,7 @@ describe('ReactDOMServer', () => {
788
});
789
790
it('should throw rendering call/return on the server', () => {
791
- var div = document.createElement('div');
791
+ const div = document.createElement('div');
792
expect(() => {
793
ReactDOMServer.renderToString(
794
<div>{ReactCallReturn.unstable_createReturn(42)}</div>,
packages/react-dom/src/__tests__/ReactServerRenderingBrowser-test.js
+3
-3
@@ -9,9 +9,9 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOMServer;
14
-var ReactDOMServerBrowser;
12
+let React;
13
+let ReactDOMServer;
14
+let ReactDOMServerBrowser;
15
16
describe('ReactServerRenderingBrowser', () => {
17
beforeEach(() => {
packages/react-dom/src/__tests__/ReactStatelessComponent-test.js
+13
-13
@@ -9,10 +9,10 @@
9
10
'use strict';
11
12
-var PropTypes;
13
-var React;
14
-var ReactDOM;
15
-var ReactTestUtils;
12
+let PropTypes;
13
+let React;
14
+let ReactDOM;
15
+let ReactTestUtils;
16
17
function StatelessComponent(props) {
18
return <div>{props.name}</div>;
@@ -32,7 +32,7 @@ describe('ReactStatelessComponent', () => {
32
});
33
34
it('should render stateless component', () => {
35
- var el = document.createElement('div');
35
+ const el = document.createElement('div');
36
ReactDOM.render(<StatelessComponent name="A" />, el);
37
38
expect(el.textContent).toBe('A');
@@ -45,7 +45,7 @@ describe('ReactStatelessComponent', () => {
45
}
46
}
47
48
- var el = document.createElement('div');
48
+ const el = document.createElement('div');
49
ReactDOM.render(<Parent name="A" />, el);
50
expect(el.textContent).toBe('A');
51
@@ -54,7 +54,7 @@ describe('ReactStatelessComponent', () => {
54
});
55
56
it('should unmount stateless component', () => {
57
- var container = document.createElement('div');
57
+ const container = document.createElement('div');
58
59
ReactDOM.render(<StatelessComponent name="A" />, container);
60
expect(container.textContent).toBe('A');
@@ -92,7 +92,7 @@ describe('ReactStatelessComponent', () => {
92
}
93
}
94
95
- var el = document.createElement('div');
95
+ const el = document.createElement('div');
96
ReactDOM.render(<GrandParent test="test" />, el);
97
98
expect(el.textContent).toBe('test');
@@ -112,7 +112,7 @@ describe('ReactStatelessComponent', () => {
112
foo: PropTypes.string,
113
};
114
115
- var container = document.createElement('div');
115
+ const container = document.createElement('div');
116
117
ReactDOM.render(<StatelessComponentWithChildContext name="A" />, container);
118
@@ -376,7 +376,7 @@ describe('ReactStatelessComponent', () => {
376
return <div />;
377
}
378
379
- var comp = ReactTestUtils.renderIntoDocument(<Child />);
379
+ const comp = ReactTestUtils.renderIntoDocument(<Child />);
380
expect(comp).toBe(null);
381
});
382
@@ -437,13 +437,13 @@ describe('ReactStatelessComponent', () => {
437
}
438
Child.contextTypes = {lang: PropTypes.string};
439
440
- var el = document.createElement('div');
440
+ const el = document.createElement('div');
441
ReactDOM.render(<Parent />, el);
442
expect(el.textContent).toBe('en');
443
});
444
445
it('should work with arrow functions', () => {
446
- var Child = function() {
446
+ let Child = function() {
447
return <div />;
448
};
449
// Will create a new bound function without a prototype, much like a native
@@ -454,7 +454,7 @@ describe('ReactStatelessComponent', () => {
454
});
455
456
it('should allow simple functions to return null', () => {
457
- var Child = function() {
457
+ const Child = function() {
458
return null;
459
};
460
expect(() => ReactTestUtils.renderIntoDocument(<Child />)).not.toThrow();
packages/react-dom/src/__tests__/ReactTestUtils-test.js
+2
-2
@@ -16,7 +16,7 @@ let ReactDOMServer;
16
let ReactTestUtils;
17
18
function getTestDocument(markup) {
19
- var doc = document.implementation.createHTMLDocument('');
19
+ const doc = document.implementation.createHTMLDocument('');
20
doc.open();
21
doc.write(
22
markup ||
@@ -47,7 +47,7 @@ describe('ReactTestUtils', () => {
47
// Patch it up so it returns its children.
48
ReactTestUtils.mockComponent(MockedComponent);
49
50
- var container = document.createElement('div');
50
+ const container = document.createElement('div');
51
ReactDOM.render(<MockedComponent>Hello</MockedComponent>, container);
52
expect(container.textContent).toBe('Hello');
53
});
packages/react-dom/src/__tests__/ReactTreeTraversal-test.js
+26
-26
@@ -9,8 +9,8 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
12
+let React;
13
+let ReactDOM;
14
15
const ChildComponent = ({id, eventHandler}) => (
16
<div
@@ -63,10 +63,10 @@ const ParentComponent = ({eventHandler}) => (
63
);
64
65
describe('ReactTreeTraversal', () => {
66
- var mockFn = jest.fn();
67
- var container;
68
- var outerNode1;
69
- var outerNode2;
66
+ const mockFn = jest.fn();
67
+ let container;
68
+ let outerNode1;
69
+ let outerNode2;
70
71
beforeEach(() => {
72
React = require('react');
@@ -103,7 +103,7 @@ describe('ReactTreeTraversal', () => {
103
});
104
105
it('should traverse two phase across component boundary', () => {
106
- var expectedCalls = [
106
+ const expectedCalls = [
107
['P', 'captured', 'click'],
108
['P_P1', 'captured', 'click'],
109
['P_P1_C1__DIV', 'captured', 'click'],
@@ -115,7 +115,7 @@ describe('ReactTreeTraversal', () => {
115
['P', 'bubbled', 'click'],
116
];
117
118
- var node = document.getElementById('P_P1_C1__DIV_1');
118
+ const node = document.getElementById('P_P1_C1__DIV_1');
119
node.dispatchEvent(
120
new MouseEvent('click', {bubbles: true, cancelable: true}),
121
);
@@ -124,12 +124,12 @@ describe('ReactTreeTraversal', () => {
124
});
125
126
it('should traverse two phase at shallowest node', () => {
127
- var node = document.getElementById('P');
127
+ const node = document.getElementById('P');
128
node.dispatchEvent(
129
new MouseEvent('click', {bubbles: true, cancelable: true}),
130
);
131
132
- var expectedCalls = [
132
+ const expectedCalls = [
133
['P', 'captured', 'click'],
134
['P', 'bubbled', 'click'],
135
];
@@ -151,8 +151,8 @@ describe('ReactTreeTraversal', () => {
151
});
152
153
it('should not traverse if enter/leave the same node', () => {
154
- var leaveNode = document.getElementById('P_P1_C1__DIV_1');
155
- var enterNode = document.getElementById('P_P1_C1__DIV_1');
154
+ const leaveNode = document.getElementById('P_P1_C1__DIV_1');
155
+ const enterNode = document.getElementById('P_P1_C1__DIV_1');
156
157
leaveNode.dispatchEvent(
158
new MouseEvent('mouseout', {
@@ -166,10 +166,10 @@ describe('ReactTreeTraversal', () => {
166
});
167
168
it('should traverse enter/leave to sibling - avoids parent', () => {
169
- var leaveNode = document.getElementById('P_P1_C1__DIV_1');
170
- var enterNode = document.getElementById('P_P1_C1__DIV_2');
169
+ const leaveNode = document.getElementById('P_P1_C1__DIV_1');
170
+ const enterNode = document.getElementById('P_P1_C1__DIV_2');
171
172
- var expectedCalls = [
172
+ const expectedCalls = [
173
['P_P1_C1__DIV_1', 'mouseleave'],
174
// enter/leave shouldn't fire anything on the parent
175
['P_P1_C1__DIV_2', 'mouseenter'],
@@ -187,10 +187,10 @@ describe('ReactTreeTraversal', () => {
187
});
188
189
it('should traverse enter/leave to parent - avoids parent', () => {
190
- var leaveNode = document.getElementById('P_P1_C1__DIV_1');
191
- var enterNode = document.getElementById('P_P1_C1__DIV');
190
+ const leaveNode = document.getElementById('P_P1_C1__DIV_1');
191
+ const enterNode = document.getElementById('P_P1_C1__DIV');
192
193
- var expectedCalls = [['P_P1_C1__DIV_1', 'mouseleave']];
193
+ const expectedCalls = [['P_P1_C1__DIV_1', 'mouseleave']];
194
195
leaveNode.dispatchEvent(
196
new MouseEvent('mouseout', {
@@ -204,9 +204,9 @@ describe('ReactTreeTraversal', () => {
204
});
205
206
it('should enter from the window', () => {
207
- var enterNode = document.getElementById('P_P1_C1__DIV');
207
+ const enterNode = document.getElementById('P_P1_C1__DIV');
208
209
- var expectedCalls = [
209
+ const expectedCalls = [
210
['P', 'mouseenter'],
211
['P_P1', 'mouseenter'],
212
['P_P1_C1__DIV', 'mouseenter'],
@@ -224,9 +224,9 @@ describe('ReactTreeTraversal', () => {
224
});
225
226
it('should enter from the window to the shallowest', () => {
227
- var enterNode = document.getElementById('P');
227
+ const enterNode = document.getElementById('P');
228
229
- var expectedCalls = [['P', 'mouseenter']];
229
+ const expectedCalls = [['P', 'mouseenter']];
230
231
outerNode1.dispatchEvent(
232
new MouseEvent('mouseout', {
@@ -240,9 +240,9 @@ describe('ReactTreeTraversal', () => {
240
});
241
242
it('should leave to the window', () => {
243
- var leaveNode = document.getElementById('P_P1_C1__DIV');
243
+ const leaveNode = document.getElementById('P_P1_C1__DIV');
244
245
- var expectedCalls = [
245
+ const expectedCalls = [
246
['P_P1_C1__DIV', 'mouseleave'],
247
['P_P1', 'mouseleave'],
248
['P', 'mouseleave'],
@@ -260,9 +260,9 @@ describe('ReactTreeTraversal', () => {
260
});
261
262
it('should leave to the window from the shallowest', () => {
263
- var leaveNode = document.getElementById('P');
263
+ const leaveNode = document.getElementById('P');
264
265
- var expectedCalls = [['P', 'mouseleave']];
265
+ const expectedCalls = [['P', 'mouseleave']];
266
267
leaveNode.dispatchEvent(
268
new MouseEvent('mouseout', {
packages/react-dom/src/__tests__/ReactUpdates-test.js
+71
-71
@@ -9,9 +9,9 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactTestUtils;
12
+let React;
13
+let ReactDOM;
14
+let ReactTestUtils;
15
16
describe('ReactUpdates', () => {
17
beforeEach(() => {
@@ -21,7 +21,7 @@ describe('ReactUpdates', () => {
21
});
22
23
it('should batch state when updating state twice', () => {
24
- var updateCount = 0;
24
+ let updateCount = 0;
25
26
class Component extends React.Component {
27
state = {x: 0};
@@ -35,7 +35,7 @@ describe('ReactUpdates', () => {
35
}
36
}
37
38
- var instance = ReactTestUtils.renderIntoDocument(<Component />);
38
+ const instance = ReactTestUtils.renderIntoDocument(<Component />);
39
expect(instance.state.x).toBe(0);
40
41
ReactDOM.unstable_batchedUpdates(function() {
@@ -50,7 +50,7 @@ describe('ReactUpdates', () => {
50
});
51
52
it('should batch state when updating two different state keys', () => {
53
- var updateCount = 0;
53
+ let updateCount = 0;
54
55
class Component extends React.Component {
56
state = {x: 0, y: 0};
@@ -68,7 +68,7 @@ describe('ReactUpdates', () => {
68
}
69
}
70
71
- var instance = ReactTestUtils.renderIntoDocument(<Component />);
71
+ const instance = ReactTestUtils.renderIntoDocument(<Component />);
72
expect(instance.state.x).toBe(0);
73
expect(instance.state.y).toBe(0);
74
@@ -86,7 +86,7 @@ describe('ReactUpdates', () => {
86
});
87
88
it('should batch state and props together', () => {
89
- var updateCount = 0;
89
+ let updateCount = 0;
90
91
class Component extends React.Component {
92
state = {y: 0};
@@ -104,8 +104,8 @@ describe('ReactUpdates', () => {
104
}
105
}
106
107
- var container = document.createElement('div');
108
- var instance = ReactDOM.render(<Component x={0} />, container);
107
+ const container = document.createElement('div');
108
+ const instance = ReactDOM.render(<Component x={0} />, container);
109
expect(instance.props.x).toBe(0);
110
expect(instance.state.y).toBe(0);
111
@@ -123,7 +123,7 @@ describe('ReactUpdates', () => {
123
});
124
125
it('should batch parent/child state updates together', () => {
126
- var parentUpdateCount = 0;
126
+ let parentUpdateCount = 0;
127
128
class Parent extends React.Component {
129
state = {x: 0};
@@ -141,7 +141,7 @@ describe('ReactUpdates', () => {
141
}
142
}
143
144
- var childUpdateCount = 0;
144
+ let childUpdateCount = 0;
145
146
class Child extends React.Component {
147
state = {y: 0};
@@ -155,8 +155,8 @@ describe('ReactUpdates', () => {
155
}
156
}
157
158
- var instance = ReactTestUtils.renderIntoDocument(<Parent />);
159
- var child = instance.refs.child;
158
+ const instance = ReactTestUtils.renderIntoDocument(<Parent />);
159
+ const child = instance.refs.child;
160
expect(instance.state.x).toBe(0);
161
expect(child.state.y).toBe(0);
162
@@ -176,7 +176,7 @@ describe('ReactUpdates', () => {
176
});
177
178
it('should batch child/parent state updates together', () => {
179
- var parentUpdateCount = 0;
179
+ let parentUpdateCount = 0;
180
181
class Parent extends React.Component {
182
state = {x: 0};
@@ -194,7 +194,7 @@ describe('ReactUpdates', () => {
194
}
195
}
196
197
- var childUpdateCount = 0;
197
+ let childUpdateCount = 0;
198
199
class Child extends React.Component {
200
state = {y: 0};
@@ -208,8 +208,8 @@ describe('ReactUpdates', () => {
208
}
209
}
210
211
- var instance = ReactTestUtils.renderIntoDocument(<Parent />);
212
- var child = instance.refs.child;
211
+ const instance = ReactTestUtils.renderIntoDocument(<Parent />);
212
+ const child = instance.refs.child;
213
expect(instance.state.x).toBe(0);
214
expect(child.state.y).toBe(0);
215
@@ -231,7 +231,7 @@ describe('ReactUpdates', () => {
231
});
232
233
it('should support chained state updates', () => {
234
- var updateCount = 0;
234
+ let updateCount = 0;
235
236
class Component extends React.Component {
237
state = {x: 0};
@@ -245,10 +245,10 @@ describe('ReactUpdates', () => {
245
}
246
}
247
248
- var instance = ReactTestUtils.renderIntoDocument(<Component />);
248
+ const instance = ReactTestUtils.renderIntoDocument(<Component />);
249
expect(instance.state.x).toBe(0);
250
251
- var innerCallbackRun = false;
251
+ let innerCallbackRun = false;
252
ReactDOM.unstable_batchedUpdates(function() {
253
instance.setState({x: 1}, function() {
254
instance.setState({x: 2}, function() {
@@ -270,8 +270,8 @@ describe('ReactUpdates', () => {
270
});
271
272
it('should batch forceUpdate together', () => {
273
- var shouldUpdateCount = 0;
274
- var updateCount = 0;
273
+ let shouldUpdateCount = 0;
274
+ let updateCount = 0;
275
276
class Component extends React.Component {
277
state = {x: 0};
@@ -289,10 +289,10 @@ describe('ReactUpdates', () => {
289
}
290
}
291
292
- var instance = ReactTestUtils.renderIntoDocument(<Component />);
292
+ const instance = ReactTestUtils.renderIntoDocument(<Component />);
293
expect(instance.state.x).toBe(0);
294
295
- var callbacksRun = 0;
295
+ let callbacksRun = 0;
296
ReactDOM.unstable_batchedUpdates(function() {
297
instance.setState({x: 1}, function() {
298
callbacksRun++;
@@ -312,8 +312,8 @@ describe('ReactUpdates', () => {
312
});
313
314
it('should update children even if parent blocks updates', () => {
315
- var parentRenderCount = 0;
316
- var childRenderCount = 0;
315
+ let parentRenderCount = 0;
316
+ let childRenderCount = 0;
317
318
class Parent extends React.Component {
319
shouldComponentUpdate() {
@@ -336,7 +336,7 @@ describe('ReactUpdates', () => {
336
expect(parentRenderCount).toBe(0);
337
expect(childRenderCount).toBe(0);
338
339
- var instance = <Parent />;
339
+ let instance = <Parent />;
340
instance = ReactTestUtils.renderIntoDocument(instance);
341
342
expect(parentRenderCount).toBe(1);
@@ -358,8 +358,8 @@ describe('ReactUpdates', () => {
358
});
359
360
it('should not reconcile children passed via props', () => {
361
- var numMiddleRenders = 0;
362
- var numBottomRenders = 0;
361
+ let numMiddleRenders = 0;
362
+ let numBottomRenders = 0;
363
364
class Top extends React.Component {
365
render() {
@@ -395,10 +395,10 @@ describe('ReactUpdates', () => {
395
});
396
397
it('should flow updates correctly', () => {
398
- var willUpdates = [];
399
- var didUpdates = [];
398
+ let willUpdates = [];
399
+ let didUpdates = [];
400
401
- var UpdateLoggingMixin = {
401
+ const UpdateLoggingMixin = {
402
componentWillUpdate: function() {
403
willUpdates.push(this.constructor.displayName);
404
},
@@ -424,7 +424,7 @@ describe('ReactUpdates', () => {
424
class Switcher extends React.Component {
425
state = {tabKey: 'hello'};
426
render() {
427
- var child = this.props.children;
427
+ const child = this.props.children;
428
429
return (
430
<Box ref="box">
@@ -452,11 +452,11 @@ describe('ReactUpdates', () => {
452
}
453
Object.assign(App.prototype, UpdateLoggingMixin);
454
455
- var root = <App />;
455
+ let root = <App />;
456
root = ReactTestUtils.renderIntoDocument(root);
457
458
function expectUpdates(desiredWillUpdates, desiredDidUpdates) {
459
- var i;
459
+ let i;
460
for (i = 0; i < desiredWillUpdates; i++) {
461
expect(willUpdates).toContain(desiredWillUpdates[i]);
462
}
@@ -472,7 +472,7 @@ describe('ReactUpdates', () => {
472
}
473
474
function testUpdates(components, desiredWillUpdates, desiredDidUpdates) {
475
- var i;
475
+ let i;
476
477
ReactDOM.unstable_batchedUpdates(function() {
478
for (i = 0; i < components.length; i++) {
@@ -519,12 +519,12 @@ describe('ReactUpdates', () => {
519
// componentDidUpdate handlers is called, B's DOM should already have been
520
// updated.
521
522
- var bContainer = document.createElement('div');
522
+ const bContainer = document.createElement('div');
523
524
- var a;
525
- var b;
524
+ let a;
525
+ let b;
526
527
- var aUpdated = false;
527
+ let aUpdated = false;
528
529
class A extends React.Component {
530
state = {x: 0};
@@ -535,7 +535,7 @@ describe('ReactUpdates', () => {
535
}
536
537
render() {
538
- var portal = null;
538
+ let portal = null;
539
// If we're using Fiber, we use Portals instead to achieve this.
540
portal = ReactDOM.createPortal(<B ref={n => (b = n)} />, bContainer);
541
return (
@@ -565,7 +565,7 @@ describe('ReactUpdates', () => {
565
});
566
567
it('should flush updates in the correct order', () => {
568
- var updates = [];
568
+ const updates = [];
569
570
class Outer extends React.Component {
571
state = {x: 0};
@@ -580,7 +580,7 @@ describe('ReactUpdates', () => {
580
}
581
582
componentDidUpdate() {
583
- var x = this.state.x;
583
+ const x = this.state.x;
584
updates.push('Outer-didUpdate-' + x);
585
updates.push('Inner-setState-' + x);
586
this.refs.inner.setState({x: x}, function() {
@@ -602,7 +602,7 @@ describe('ReactUpdates', () => {
602
}
603
}
604
605
- var instance = ReactTestUtils.renderIntoDocument(<Outer />);
605
+ const instance = ReactTestUtils.renderIntoDocument(<Outer />);
606
607
updates.push('Outer-setState-1');
608
instance.setState({x: 1}, function() {
@@ -646,8 +646,8 @@ describe('ReactUpdates', () => {
646
});
647
648
it('should flush updates in the correct order across roots', () => {
649
- var instances = [];
650
- var updates = [];
649
+ const instances = [];
650
+ const updates = [];
651
652
class MockComponent extends React.Component {
653
render() {
@@ -728,8 +728,8 @@ describe('ReactUpdates', () => {
728
}
729
}
730
731
- var x;
732
- var y;
731
+ let x;
732
+ let y;
733
734
x = ReactTestUtils.renderIntoDocument(<X />);
735
y = ReactTestUtils.renderIntoDocument(<Y />);
@@ -741,7 +741,7 @@ describe('ReactUpdates', () => {
741
742
it('should queue updates from during mount', () => {
743
// See https://github.com/facebook/react/issues/1353
744
- var a;
744
+ let a;
745
746
class A extends React.Component {
747
state = {x: 0};
@@ -779,13 +779,13 @@ describe('ReactUpdates', () => {
779
});
780
781
it('calls componentWillReceiveProps setState callback properly', () => {
782
- var callbackCount = 0;
782
+ let callbackCount = 0;
783
784
class A extends React.Component {
785
state = {x: this.props.x};
786
787
componentWillReceiveProps(nextProps) {
788
- var newX = nextProps.x;
788
+ const newX = nextProps.x;
789
this.setState({x: newX}, function() {
790
// State should have updated by the time this callback gets called
791
expect(this.state.x).toBe(newX);
@@ -798,15 +798,15 @@ describe('ReactUpdates', () => {
798
}
799
}
800
801
- var container = document.createElement('div');
801
+ const container = document.createElement('div');
802
ReactDOM.render(<A x={1} />, container);
803
ReactDOM.render(<A x={2} />, container);
804
expect(callbackCount).toBe(1);
805
});
806
807
it('does not call render after a component as been deleted', () => {
808
- var renderCount = 0;
809
- var componentB = null;
808
+ let renderCount = 0;
809
+ let componentB = null;
810
811
class B extends React.Component {
812
state = {updates: 0};
@@ -829,7 +829,7 @@ describe('ReactUpdates', () => {
829
}
830
}
831
832
- var component = ReactTestUtils.renderIntoDocument(<A />);
832
+ const component = ReactTestUtils.renderIntoDocument(<A />);
833
834
ReactDOM.unstable_batchedUpdates(function() {
835
// B will have scheduled an update but the batching should ensure that its
@@ -857,7 +857,7 @@ describe('ReactUpdates', () => {
857
}
858
}
859
860
- var component = ReactTestUtils.renderIntoDocument(<A />);
860
+ let component = ReactTestUtils.renderIntoDocument(<A />);
861
862
expect(() => component.setState({}, 'no')).toThrowError(
863
'Invalid argument passed as callback. Expected a function. Instead ' +
@@ -910,7 +910,7 @@ describe('ReactUpdates', () => {
910
}
911
}
912
913
- var component = ReactTestUtils.renderIntoDocument(<A />);
913
+ let component = ReactTestUtils.renderIntoDocument(<A />);
914
915
expect(() => component.forceUpdate('no')).toThrowError(
916
'Invalid argument passed as callback. Expected a function. Instead ' +
@@ -958,9 +958,9 @@ describe('ReactUpdates', () => {
958
}
959
}
960
961
- var renderCount = 0;
962
- var postRenderCount = 0;
963
- var once = false;
961
+ let renderCount = 0;
962
+ let postRenderCount = 0;
963
+ let once = false;
964
965
class Child extends React.Component {
966
state = {updated: false};
@@ -989,8 +989,8 @@ describe('ReactUpdates', () => {
989
}
990
}
991
992
- var parent = ReactTestUtils.renderIntoDocument(<Parent />);
993
- var child = parent.getChild();
992
+ const parent = ReactTestUtils.renderIntoDocument(<Parent />);
993
+ const child = parent.getChild();
994
ReactDOM.unstable_batchedUpdates(function() {
995
parent.forceUpdate();
996
child.forceUpdate();
@@ -998,7 +998,7 @@ describe('ReactUpdates', () => {
998
});
999
1000
it('does not update one component twice in a batch (#6371)', () => {
1001
- var callbacks = [];
1001
+ let callbacks = [];
1002
function emitChange() {
1003
callbacks.forEach(c => c());
1004
}
@@ -1048,14 +1048,14 @@ describe('ReactUpdates', () => {
1048
});
1049
1050
it('unstable_batchedUpdates should return value from a callback', () => {
1051
- var result = ReactDOM.unstable_batchedUpdates(function() {
1051
+ const result = ReactDOM.unstable_batchedUpdates(function() {
1052
return 42;
1053
});
1054
expect(result).toEqual(42);
1055
});
1056
1057
it('unmounts and remounts a root in the same batch', () => {
1058
- var container = document.createElement('div');
1058
+ const container = document.createElement('div');
1059
ReactDOM.render(<span>a</span>, container);
1060
ReactDOM.unstable_batchedUpdates(function() {
1061
ReactDOM.unmountComponentAtNode(container);
@@ -1065,7 +1065,7 @@ describe('ReactUpdates', () => {
1065
});
1066
1067
it('handles reentrant mounting in synchronous mode', () => {
1068
- var mounts = 0;
1068
+ let mounts = 0;
1069
class Editor extends React.Component {
1070
render() {
1071
return <div>{this.props.text}</div>;
@@ -1079,7 +1079,7 @@ describe('ReactUpdates', () => {
1079
}
1080
}
1081
1082
- var container = document.createElement('div');
1082
+ const container = document.createElement('div');
1083
function render() {
1084
ReactDOM.render(
1085
<Editor
@@ -1093,7 +1093,7 @@ describe('ReactUpdates', () => {
1093
);
1094
}
1095
1096
- var props = {text: 'hello', rendered: false};
1096
+ let props = {text: 'hello', rendered: false};
1097
render();
1098
props = {...props, text: 'goodbye'};
1099
render();
@@ -1102,8 +1102,8 @@ describe('ReactUpdates', () => {
1102
});
1103
1104
it('mounts and unmounts are sync even in a batch', () => {
1105
- var ops = [];
1106
- var container = document.createElement('div');
1105
+ const ops = [];
1106
+ const container = document.createElement('div');
1107
ReactDOM.unstable_batchedUpdates(() => {
1108
ReactDOM.render(<div>Hello</div>, container);
1109
ops.push(container.textContent);
packages/react-dom/src/__tests__/TapEventPlugin-test.internal.js
+19
-19
@@ -9,25 +9,25 @@
9
10
'use strict';
11
12
-var EventPluginHub;
13
-var React;
14
-var ReactDOM;
15
-var ReactTestUtils;
16
-var TapEventPlugin;
17
-
18
-var tapMoveThreshold;
19
-var idCallOrder;
20
-var recordID = function(id) {
12
+let EventPluginHub;
13
+let React;
14
+let ReactDOM;
15
+let ReactTestUtils;
16
+let TapEventPlugin;
17
+
18
+let tapMoveThreshold;
19
+let idCallOrder;
20
+const recordID = function(id) {
21
idCallOrder.push(id);
22
};
23
-var LISTENER = jest.fn();
24
-var ON_TOUCH_TAP_KEY = 'onTouchTap';
23
+const LISTENER = jest.fn();
24
+const ON_TOUCH_TAP_KEY = 'onTouchTap';
25
26
-var GRANDPARENT;
27
-var PARENT;
28
-var CHILD;
26
+let GRANDPARENT;
27
+let PARENT;
28
+let CHILD;
29
30
-var putListener;
30
+let putListener;
31
32
describe('TapEventPlugin', () => {
33
beforeEach(() => {
@@ -40,11 +40,11 @@ describe('TapEventPlugin', () => {
40
ReactTestUtils = require('react-dom/test-utils');
41
TapEventPlugin = require('react-dom/src/events/TapEventPlugin').default;
42
43
- var container = document.createElement('div');
43
+ const container = document.createElement('div');
44
45
- var GRANDPARENT_PROPS = {};
46
- var PARENT_PROPS = {};
47
- var CHILD_PROPS = {};
45
+ const GRANDPARENT_PROPS = {};
46
+ const PARENT_PROPS = {};
47
+ const CHILD_PROPS = {};
48
49
function Child(props) {
50
return <div ref={c => (CHILD = c)} {...props} />;
packages/react-dom/src/__tests__/escapeTextForBrowser-test.js
+10
-10
@@ -9,8 +9,8 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOMServer;
12
+let React;
13
+let ReactDOMServer;
14
15
describe('escapeTextForBrowser', () => {
16
beforeEach(() => {
@@ -20,42 +20,42 @@ describe('escapeTextForBrowser', () => {
20
});
21
22
it('ampersand is escaped when passed as text content', () => {
23
- var response = ReactDOMServer.renderToString(<span>{'&'}</span>);
23
+ const response = ReactDOMServer.renderToString(<span>{'&'}</span>);
24
expect(response).toMatch('<span data-reactroot="">&</span>');
25
});
26
27
it('double quote is escaped when passed as text content', () => {
28
- var response = ReactDOMServer.renderToString(<span>{'"'}</span>);
28
+ const response = ReactDOMServer.renderToString(<span>{'"'}</span>);
29
expect(response).toMatch('<span data-reactroot="">"</span>');
30
});
31
32
it('single quote is escaped when passed as text content', () => {
33
- var response = ReactDOMServer.renderToString(<span>{"'"}</span>);
33
+ const response = ReactDOMServer.renderToString(<span>{"'"}</span>);
34
expect(response).toMatch('<span data-reactroot="">'</span>');
35
});
36
37
it('greater than entity is escaped when passed as text content', () => {
38
- var response = ReactDOMServer.renderToString(<span>{'>'}</span>);
38
+ const response = ReactDOMServer.renderToString(<span>{'>'}</span>);
39
expect(response).toMatch('<span data-reactroot="">></span>');
40
});
41
42
it('lower than entity is escaped when passed as text content', () => {
43
- var response = ReactDOMServer.renderToString(<span>{'<'}</span>);
43
+ const response = ReactDOMServer.renderToString(<span>{'<'}</span>);
44
expect(response).toMatch('<span data-reactroot=""><</span>');
45
});
46
47
it('number is correctly passed as text content', () => {
48
- var response = ReactDOMServer.renderToString(<span>{42}</span>);
48
+ const response = ReactDOMServer.renderToString(<span>{42}</span>);
49
expect(response).toMatch('<span data-reactroot="">42</span>');
50
});
51
52
it('number is escaped to string when passed as text content', () => {
53
- var response = ReactDOMServer.renderToString(<img data-attr={42} />);
53
+ const response = ReactDOMServer.renderToString(<img data-attr={42} />);
54
expect(response).toMatch('<img data-attr="42" data-reactroot=""/>');
55
});
56
57
it('escape text content representing a script tag', () => {
58
- var response = ReactDOMServer.renderToString(
58
+ const response = ReactDOMServer.renderToString(
59
<span>{'<script type=\'\' src=""></script>'}</span>,
60
);
61
expect(response).toMatch(
packages/react-dom/src/__tests__/findDOMNode-test.js
+13
-13
@@ -9,9 +9,9 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var ReactDOM = require('react-dom');
14
-var ReactTestUtils = require('react-dom/test-utils');
12
+const React = require('react');
13
+const ReactDOM = require('react-dom');
14
+const ReactTestUtils = require('react-dom/test-utils');
15
16
describe('findDOMNode', () => {
17
it('findDOMNode should return null if passed null', () => {
@@ -29,9 +29,9 @@ describe('findDOMNode', () => {
29
}
30
}
31
32
- var myNode = ReactTestUtils.renderIntoDocument(<MyNode />);
33
- var myDiv = ReactDOM.findDOMNode(myNode);
34
- var mySameDiv = ReactDOM.findDOMNode(myDiv);
32
+ const myNode = ReactTestUtils.renderIntoDocument(<MyNode />);
33
+ const myDiv = ReactDOM.findDOMNode(myNode);
34
+ const mySameDiv = ReactDOM.findDOMNode(myDiv);
35
expect(myDiv.tagName).toBe('DIV');
36
expect(mySameDiv).toBe(myDiv);
37
});
@@ -49,16 +49,16 @@ describe('findDOMNode', () => {
49
}
50
}
51
52
- var container = document.createElement('div');
52
+ const container = document.createElement('div');
53
54
- var myNodeA = ReactDOM.render(<MyNode />, container);
55
- var a = ReactDOM.findDOMNode(myNodeA);
54
+ const myNodeA = ReactDOM.render(<MyNode />, container);
55
+ const a = ReactDOM.findDOMNode(myNodeA);
56
expect(a).toBe(null);
57
58
- var myNodeB = ReactDOM.render(<MyNode flag={true} />, container);
58
+ const myNodeB = ReactDOM.render(<MyNode flag={true} />, container);
59
expect(myNodeA === myNodeB).toBe(true);
60
61
- var b = ReactDOM.findDOMNode(myNodeB);
61
+ const b = ReactDOM.findDOMNode(myNodeB);
62
expect(b.tagName).toBe('SPAN');
63
});
64
@@ -77,8 +77,8 @@ describe('findDOMNode', () => {
77
}
78
}
79
80
- var container = document.createElement('div');
81
- var inst = ReactDOM.render(<Foo />, container);
80
+ const container = document.createElement('div');
81
+ const inst = ReactDOM.render(<Foo />, container);
82
ReactDOM.unmountComponentAtNode(container);
83
84
expect(() => ReactDOM.findDOMNode(inst)).toThrowError(
packages/react-dom/src/__tests__/multiple-copies-of-react-test.js
+1
-1
@@ -10,7 +10,7 @@
10
'use strict';
11
12
let React = require('react');
13
-var ReactTestUtils = require('react-dom/test-utils');
13
+const ReactTestUtils = require('react-dom/test-utils');
14
15
class TextWithStringRef extends React.Component {
16
render() {
packages/react-dom/src/__tests__/quoteAttributeValueForBrowser-test.js
+11
-11
@@ -9,8 +9,8 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOMServer;
12
+let React;
13
+let ReactDOMServer;
14
15
describe('quoteAttributeValueForBrowser', () => {
16
beforeEach(() => {
@@ -20,50 +20,50 @@ describe('quoteAttributeValueForBrowser', () => {
20
});
21
22
it('ampersand is escaped inside attributes', () => {
23
- var response = ReactDOMServer.renderToString(<img data-attr="&" />);
23
+ const response = ReactDOMServer.renderToString(<img data-attr="&" />);
24
expect(response).toMatch('<img data-attr="&" data-reactroot=""/>');
25
});
26
27
it('double quote is escaped inside attributes', () => {
28
- var response = ReactDOMServer.renderToString(<img data-attr={'"'} />);
28
+ const response = ReactDOMServer.renderToString(<img data-attr={'"'} />);
29
expect(response).toMatch('<img data-attr=""" data-reactroot=""/>');
30
});
31
32
it('single quote is escaped inside attributes', () => {
33
- var response = ReactDOMServer.renderToString(<img data-attr="'" />);
33
+ const response = ReactDOMServer.renderToString(<img data-attr="'" />);
34
expect(response).toMatch('<img data-attr="'" data-reactroot=""/>');
35
});
36
37
it('greater than entity is escaped inside attributes', () => {
38
- var response = ReactDOMServer.renderToString(<img data-attr=">" />);
38
+ const response = ReactDOMServer.renderToString(<img data-attr=">" />);
39
expect(response).toMatch('<img data-attr=">" data-reactroot=""/>');
40
});
41
42
it('lower than entity is escaped inside attributes', () => {
43
- var response = ReactDOMServer.renderToString(<img data-attr="<" />);
43
+ const response = ReactDOMServer.renderToString(<img data-attr="<" />);
44
expect(response).toMatch('<img data-attr="<" data-reactroot=""/>');
45
});
46
47
it('number is escaped to string inside attributes', () => {
48
- var response = ReactDOMServer.renderToString(<img data-attr={42} />);
48
+ const response = ReactDOMServer.renderToString(<img data-attr={42} />);
49
expect(response).toMatch('<img data-attr="42" data-reactroot=""/>');
50
});
51
52
it('object is passed to a string inside attributes', () => {
53
- var sampleObject = {
53
+ const sampleObject = {
54
toString: function() {
55
return 'ponys';
56
},
57
};
58
59
- var response = ReactDOMServer.renderToString(
59
+ const response = ReactDOMServer.renderToString(
60
<img data-attr={sampleObject} />,
61
);
62
expect(response).toMatch('<img data-attr="ponys" data-reactroot=""/>');
63
});
64
65
it('script tag is escaped inside attributes', () => {
66
- var response = ReactDOMServer.renderToString(
66
+ const response = ReactDOMServer.renderToString(
67
<img data-attr={'<script type=\'\' src=""></script>'} />,
68
);
69
expect(response).toMatch(
packages/react-dom/src/__tests__/refs-destruction-test.js
+10
-10
@@ -9,11 +9,11 @@
9
10
'use strict';
11
12
-var React;
13
-var ReactDOM;
14
-var ReactTestUtils;
12
+let React;
13
+let ReactDOM;
14
+let ReactTestUtils;
15
16
-var TestComponent;
16
+let TestComponent;
17
18
describe('refs-destruction', () => {
19
beforeEach(() => {
@@ -37,8 +37,8 @@ describe('refs-destruction', () => {
37
});
38
39
it('should remove refs when destroying the parent', () => {
40
- var container = document.createElement('div');
41
- var testInstance = ReactDOM.render(<TestComponent />, container);
40
+ const container = document.createElement('div');
41
+ const testInstance = ReactDOM.render(<TestComponent />, container);
42
expect(ReactTestUtils.isDOMComponent(testInstance.refs.theInnerDiv)).toBe(
43
true,
44
);
@@ -54,8 +54,8 @@ describe('refs-destruction', () => {
54
});
55
56
it('should remove refs when destroying the child', () => {
57
- var container = document.createElement('div');
58
- var testInstance = ReactDOM.render(<TestComponent />, container);
57
+ const container = document.createElement('div');
58
+ const testInstance = ReactDOM.render(<TestComponent />, container);
59
expect(ReactTestUtils.isDOMComponent(testInstance.refs.theInnerDiv)).toBe(
60
true,
61
);
@@ -83,7 +83,7 @@ describe('refs-destruction', () => {
83
}
84
85
componentWillUnmount() {
86
- var self = this;
86
+ const self = this;
87
// some async animation
88
setTimeout(function() {
89
expect(function() {
@@ -114,7 +114,7 @@ describe('refs-destruction', () => {
114
}
115
}
116
117
- var container = document.createElement('div');
117
+ const container = document.createElement('div');
118
ReactDOM.render(<App />, container);
119
ReactDOM.render(<App hidden={true} />, container);
120
jest.runAllTimers();
packages/react-dom/src/__tests__/refs-test.js
+26
-26
@@ -9,8 +9,8 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var ReactTestUtils = require('react-dom/test-utils');
12
+let React = require('react');
13
+let ReactTestUtils = require('react-dom/test-utils');
14
15
/**
16
* Counts clicks and has a renders an item for each click. Each item rendered
@@ -28,8 +28,8 @@ class ClickCounter extends React.Component {
28
};
29
30
render() {
31
- var children = [];
32
- var i;
31
+ const children = [];
32
+ let i;
33
for (i = 0; i < this.state.count; i++) {
34
children.push(
35
<div
@@ -84,23 +84,23 @@ class TestRefsComponent extends React.Component {
84
/**
85
* Render a TestRefsComponent and ensure that the main refs are wired up.
86
*/
87
-var renderTestRefsComponent = function() {
88
- var testRefsComponent = ReactTestUtils.renderIntoDocument(
87
+const renderTestRefsComponent = function() {
88
+ const testRefsComponent = ReactTestUtils.renderIntoDocument(
89
<TestRefsComponent />,
90
);
91
expect(testRefsComponent instanceof TestRefsComponent).toBe(true);
92
93
- var generalContainer = testRefsComponent.refs.myContainer;
93
+ const generalContainer = testRefsComponent.refs.myContainer;
94
expect(generalContainer instanceof GeneralContainerComponent).toBe(true);
95
96
- var counter = testRefsComponent.refs.myCounter;
96
+ const counter = testRefsComponent.refs.myCounter;
97
expect(counter instanceof ClickCounter).toBe(true);
98
99
return testRefsComponent;
100
};
101
102
-var expectClickLogsLengthToBe = function(instance, length) {
103
- var clickLogs = ReactTestUtils.scryRenderedDOMComponentsWithClass(
102
+const expectClickLogsLengthToBe = function(instance, length) {
103
+ const clickLogs = ReactTestUtils.scryRenderedDOMComponentsWithClass(
104
instance,
105
'clickLogDiv',
106
);
@@ -120,8 +120,8 @@ describe('reactiverefs', () => {
120
* perspective of the injected ClickCounter component.
121
*/
122
it('Should increase refs with an increase in divs', () => {
123
- var testRefsComponent = renderTestRefsComponent();
124
- var clickIncrementer = ReactTestUtils.findRenderedDOMComponentWithClass(
123
+ const testRefsComponent = renderTestRefsComponent();
124
+ const clickIncrementer = ReactTestUtils.findRenderedDOMComponentWithClass(
125
testRefsComponent,
126
'clickIncrementer',
127
);
@@ -178,7 +178,7 @@ describe('ref swapping', () => {
178
};
179
180
render() {
181
- var count = this.state.count;
181
+ const count = this.state.count;
182
/**
183
* What we have here, is three divs with refs (div1/2/3), but a single
184
* moving cursor ref `hopRef` that "hops" around the three. We'll call the
@@ -206,17 +206,17 @@ describe('ref swapping', () => {
206
});
207
208
it('Allow refs to hop around children correctly', () => {
209
- var refHopsAround = ReactTestUtils.renderIntoDocument(<RefHopsAround />);
209
+ const refHopsAround = ReactTestUtils.renderIntoDocument(<RefHopsAround />);
210
211
- var firstDiv = ReactTestUtils.findRenderedDOMComponentWithClass(
211
+ const firstDiv = ReactTestUtils.findRenderedDOMComponentWithClass(
212
refHopsAround,
213
'first',
214
);
215
- var secondDiv = ReactTestUtils.findRenderedDOMComponentWithClass(
215
+ const secondDiv = ReactTestUtils.findRenderedDOMComponentWithClass(
216
refHopsAround,
217
'second',
218
);
219
- var thirdDiv = ReactTestUtils.findRenderedDOMComponentWithClass(
219
+ const thirdDiv = ReactTestUtils.findRenderedDOMComponentWithClass(
220
refHopsAround,
221
'third',
222
);
@@ -252,12 +252,12 @@ describe('ref swapping', () => {
252
}
253
}
254
255
- var instance = ReactTestUtils.renderIntoDocument(<Component />);
255
+ const instance = ReactTestUtils.renderIntoDocument(<Component />);
256
expect(!!instance.refs).toBe(true);
257
});
258
259
it('ref called correctly for stateless component', () => {
260
- var refCalled = 0;
260
+ let refCalled = 0;
261
function Inner(props) {
262
return <a ref={props.saveA} />;
263
}
@@ -293,13 +293,13 @@ describe('ref swapping', () => {
293
294
describe('root level refs', () => {
295
it('attaches and detaches root refs', () => {
296
- var ReactDOM = require('react-dom');
297
- var inst = null;
296
+ const ReactDOM = require('react-dom');
297
+ let inst = null;
298
299
// host node
300
- var ref = jest.fn(value => (inst = value));
301
- var container = document.createElement('div');
302
- var result = ReactDOM.render(<div ref={ref} />, container);
300
+ let ref = jest.fn(value => (inst = value));
301
+ const container = document.createElement('div');
302
+ let result = ReactDOM.render(<div ref={ref} />, container);
303
expect(ref).toHaveBeenCalledTimes(1);
304
expect(ref.mock.calls[0][0]).toBeInstanceOf(HTMLDivElement);
305
expect(result).toBe(ref.mock.calls[0][0]);
@@ -336,8 +336,8 @@ describe('root level refs', () => {
336
// fragment
337
inst = null;
338
ref = jest.fn(value => (inst = value));
339
- var divInst = null;
340
- var ref2 = jest.fn(value => (divInst = value));
339
+ let divInst = null;
340
+ const ref2 = jest.fn(value => (divInst = value));
341
result = ReactDOM.render(
342
[
343
<Comp ref={ref} key="a" />,
packages/react-dom/src/__tests__/renderSubtreeIntoContainer-test.js
+19
-19
@@ -9,16 +9,16 @@
9
10
'use strict';
11
12
-var React = require('react');
13
-var PropTypes = require('prop-types');
14
-var ReactDOM = require('react-dom');
15
-var ReactTestUtils = require('react-dom/test-utils');
16
-var renderSubtreeIntoContainer = require('react-dom')
12
+const React = require('react');
13
+const PropTypes = require('prop-types');
14
+const ReactDOM = require('react-dom');
15
+const ReactTestUtils = require('react-dom/test-utils');
16
+const renderSubtreeIntoContainer = require('react-dom')
17
.unstable_renderSubtreeIntoContainer;
18
19
describe('renderSubtreeIntoContainer', () => {
20
it('should pass context when rendering subtree elsewhere', () => {
21
- var portal = document.createElement('div');
21
+ const portal = document.createElement('div');
22
23
class Component extends React.Component {
24
static contextTypes = {
@@ -59,7 +59,7 @@ describe('renderSubtreeIntoContainer', () => {
59
});
60
61
it('should throw if parentComponent is invalid', () => {
62
- var portal = document.createElement('div');
62
+ const portal = document.createElement('div');
63
64
class Component extends React.Component {
65
static contextTypes = {
@@ -98,9 +98,9 @@ describe('renderSubtreeIntoContainer', () => {
98
});
99
100
it('should update context if it changes due to setState', () => {
101
- var container = document.createElement('div');
101
+ const container = document.createElement('div');
102
document.body.appendChild(container);
103
- var portal = document.createElement('div');
103
+ const portal = document.createElement('div');
104
105
class Component extends React.Component {
106
static contextTypes = {
@@ -143,16 +143,16 @@ describe('renderSubtreeIntoContainer', () => {
143
}
144
}
145
146
- var instance = ReactDOM.render(<Parent />, container);
146
+ const instance = ReactDOM.render(<Parent />, container);
147
expect(portal.firstChild.innerHTML).toBe('initial-initial');
148
instance.setState({bar: 'changed'});
149
expect(portal.firstChild.innerHTML).toBe('changed-changed');
150
});
151
152
it('should update context if it changes due to re-render', () => {
153
- var container = document.createElement('div');
153
+ const container = document.createElement('div');
154
document.body.appendChild(container);
155
- var portal = document.createElement('div');
155
+ const portal = document.createElement('div');
156
157
class Component extends React.Component {
158
static contextTypes = {
@@ -198,9 +198,9 @@ describe('renderSubtreeIntoContainer', () => {
198
});
199
200
it('should render portal with non-context-provider parent', () => {
201
- var container = document.createElement('div');
201
+ const container = document.createElement('div');
202
document.body.appendChild(container);
203
- var portal = document.createElement('div');
203
+ const portal = document.createElement('div');
204
205
class Parent extends React.Component {
206
render() {
@@ -217,9 +217,9 @@ describe('renderSubtreeIntoContainer', () => {
217
});
218
219
it('should get context through non-context-provider parent', () => {
220
- var container = document.createElement('div');
220
+ const container = document.createElement('div');
221
document.body.appendChild(container);
222
- var portal = document.createElement('div');
222
+ const portal = document.createElement('div');
223
224
class Parent extends React.Component {
225
render() {
@@ -256,10 +256,10 @@ describe('renderSubtreeIntoContainer', () => {
256
});
257
258
it('should get context through middle non-context-provider layer', () => {
259
- var container = document.createElement('div');
259
+ const container = document.createElement('div');
260
document.body.appendChild(container);
261
- var portal1 = document.createElement('div');
262
- var portal2 = document.createElement('div');
261
+ const portal1 = document.createElement('div');
262
+ const portal2 = document.createElement('div');
263
264
class Parent extends React.Component {
265
render() {
packages/react-dom/src/__tests__/utils/ReactDOMServerIntegrationTestUtils.js
+6
-6
@@ -57,7 +57,7 @@ module.exports = function(initModules) {
57
);
58
if (console.error.calls.count() > 0) {
59
console.log(`We saw these warnings:`);
60
- for (var i = 0; i < console.error.calls.count(); i++) {
60
+ for (let i = 0; i < console.error.calls.count(); i++) {
61
console.log(console.error.calls.argsFor(i)[0]);
62
}
63
}
@@ -97,7 +97,7 @@ module.exports = function(initModules) {
97
// Does not render on client or perform client-side revival.
98
async function serverRender(reactElement, errorCount = 0) {
99
const markup = await renderIntoString(reactElement, errorCount);
100
- var domElement = document.createElement('div');
100
+ const domElement = document.createElement('div');
101
domElement.innerHTML = markup;
102
return domElement.firstChild;
103
}
@@ -133,7 +133,7 @@ module.exports = function(initModules) {
133
// Does not render on client or perform client-side revival.
134
async function streamRender(reactElement, errorCount = 0) {
135
const markup = await renderIntoStream(reactElement, errorCount);
136
- var domElement = document.createElement('div');
136
+ const domElement = document.createElement('div');
137
domElement.innerHTML = markup;
138
return domElement.firstChild;
139
}
@@ -147,7 +147,7 @@ module.exports = function(initModules) {
147
const markup = await renderIntoString(element, errorCount);
148
resetModules();
149
150
- var domElement = document.createElement('div');
150
+ const domElement = document.createElement('div');
151
domElement.innerHTML = markup;
152
let serverNode = domElement.firstChild;
153
@@ -178,13 +178,13 @@ module.exports = function(initModules) {
178
179
const clientRenderOnBadMarkup = async (element, errorCount = 0) => {
180
// First we render the top of bad mark up.
181
- var domElement = document.createElement('div');
181
+ const domElement = document.createElement('div');
182
domElement.innerHTML =
183
'<div id="badIdWhichWillCauseMismatch" data-reactroot="" data-reactid="1"></div>';
184
await renderIntoDom(element, domElement, true, errorCount + 1);
185
186
// This gives us the resulting text content.
187
- var hydratedTextContent = domElement.textContent;
187
+ const hydratedTextContent = domElement.textContent;
188
189
// Next we render the element into a clean DOM node client side.
190
const cleanDomElement = document.createElement('div');
packages/react-dom/src/__tests__/validateDOMNesting-test.internal.js
+6
-6
@@ -9,10 +9,10 @@
9
10
'use strict';
11
12
-var validateDOMNesting;
12
+let validateDOMNesting;
13
14
// https://html.spec.whatwg.org/multipage/syntax.html#special
15
-var specialTags = [
15
+const specialTags = [
16
'address',
17
'applet',
18
'area',
@@ -99,7 +99,7 @@ var specialTags = [
99
];
100
101
// https://html.spec.whatwg.org/multipage/syntax.html#formatting
102
-var formattingTags = [
102
+const formattingTags = [
103
'a',
104
'b',
105
'big',
@@ -117,8 +117,8 @@ var formattingTags = [
117
];
118
119
function isTagStackValid(stack) {
120
- var ancestorInfo = null;
121
- for (var i = 0; i < stack.length; i++) {
120
+ let ancestorInfo = null;
121
+ for (let i = 0; i < stack.length; i++) {
122
if (!validateDOMNesting.isTagValidInContext(stack[i], ancestorInfo)) {
123
return false;
124
}
@@ -143,7 +143,7 @@ describe('validateDOMNesting', () => {
143
if (__DEV__) {
144
// With renderToString (for example), we don't know where we're mounting the
145
// tag so we must err on the side of leniency.
146
- var allTags = [].concat(specialTags, formattingTags, ['mysterytag']);
146
+ const allTags = [].concat(specialTags, formattingTags, ['mysterytag']);
147
allTags.forEach(function(tag) {
148
expect(validateDOMNesting.isTagValidInContext(tag, null)).toBe(true);
149
});