Enable linting in src/tests, cleanup
Paul O’Shannessy committed
Jul 16, 2015 at 11:45 UTC
a28325e412a3c5f43b485a2df4d94fc86691c5d6
11 files changed
+60
-58
.eslintignore
-2
@@ -1,7 +1,5 @@
1
# We can probably lint these later but not important at this point
2
src/shared/vendor
3
-# This should be enabled but that folder has too much in it that doesn't belong
4
-src/test
3
# But not in docs/_js/examples/*
4
docs/_js/*.js
5
docs/js/
src/test/MetaMatchers.js
+5
-3
@@ -28,7 +28,9 @@ function getRunnerWithResults(describeFunction) {
28
// Execute the tests synchronously.
29
env.updateInterval = 0;
30
var outerGetEnv = jasmine.getEnv;
31
- jasmine.getEnv = function() { return env; };
31
+ jasmine.getEnv = function() {
32
+ return env;
33
+ };
34
// TODO: Bring over matchers from the existing environment.
35
var runner = env.currentRunner();
36
try {
@@ -116,11 +118,11 @@ var MetaMatchers = {
118
this.message = function() {
119
return [
120
errorMessage,
119
- 'The specs are equal. Expected them to be different.'
121
+ 'The specs are equal. Expected them to be different.',
122
];
123
};
124
return !errorMessage;
123
- }
125
+ },
126
};
127
128
module.exports = MetaMatchers;
src/test/ReactDefaultPerf.js
+9
-9
@@ -60,7 +60,7 @@ var ReactDefaultPerf = {
60
'Exclusive render time (ms)': roundFloat(item.render),
61
'Mount time per instance (ms)': roundFloat(item.exclusive / item.count),
62
'Render time per instance (ms)': roundFloat(item.render / item.count),
63
- 'Instances': item.count
63
+ 'Instances': item.count,
64
};
65
}));
66
// TODO: ReactDefaultPerfAnalysis.getTotalTime() does not return the correct
@@ -74,7 +74,7 @@ var ReactDefaultPerf = {
74
return {
75
'Owner > component': item.componentName,
76
'Inclusive time (ms)': roundFloat(item.time),
77
- 'Instances': item.count
77
+ 'Instances': item.count,
78
};
79
}));
80
console.log(
@@ -92,7 +92,7 @@ var ReactDefaultPerf = {
92
return {
93
'Owner > component': item.componentName,
94
'Wasted time (ms)': item.time,
95
- 'Instances': item.count
95
+ 'Instances': item.count,
96
};
97
});
98
},
@@ -112,8 +112,8 @@ var ReactDefaultPerf = {
112
console.table(summary.map(function(item) {
113
var result = {};
114
result[DOMProperty.ID_ATTRIBUTE_NAME] = item.id;
115
- result['type'] = item.type;
116
- result['args'] = JSON.stringify(item.args);
115
+ result.type = item.type;
116
+ result.args = JSON.stringify(item.args);
117
return result;
118
}));
119
console.log(
@@ -132,7 +132,7 @@ var ReactDefaultPerf = {
132
writes[id].push({
133
type: fnName,
134
time: totalTime,
135
- args: args
135
+ args: args,
136
});
137
},
138
@@ -155,7 +155,7 @@ var ReactDefaultPerf = {
155
counts: {},
156
writes: {},
157
displayNames: {},
158
- totalTime: 0
158
+ totalTime: 0,
159
});
160
start = performanceNow();
161
rv = func.apply(this, args);
@@ -250,7 +250,7 @@ var ReactDefaultPerf = {
250
current: this.getName(),
251
owner: this._currentElement._owner ?
252
this._currentElement._owner.getName() :
253
- '<root>'
253
+ '<root>',
254
};
255
256
return rv;
@@ -258,7 +258,7 @@ var ReactDefaultPerf = {
258
return func.apply(this, args);
259
}
260
};
261
- }
261
+ },
262
};
263
264
module.exports = ReactDefaultPerf;
src/test/ReactDefaultPerfAnalysis.js
+11
-12
@@ -9,6 +9,8 @@
9
* @providesModule ReactDefaultPerfAnalysis
10
*/
11
12
+'use strict';
13
+
14
var assign = require('Object.assign');
15
16
// Don't try to save users less than 1.2ms (a number I made up)
@@ -23,7 +25,7 @@ var DOM_OPERATION_TYPES = {
25
'deletePropertyByID': 'delete attribute',
26
'updateStylesByID': 'update styles',
27
'updateInnerHTMLByID': 'set innerHTML',
26
- 'dangerouslyReplaceNodeWithMarkupByID': 'replace'
28
+ 'dangerouslyReplaceNodeWithMarkupByID': 'replace',
29
};
30
31
function getTotalTime(measurements) {
@@ -41,20 +43,17 @@ function getTotalTime(measurements) {
43
44
function getDOMSummary(measurements) {
45
var items = [];
44
- for (var i = 0; i < measurements.length; i++) {
45
- var measurement = measurements[i];
46
- var id;
47
-
48
- for (id in measurement.writes) {
46
+ measurements.forEach(function(measurement) {
47
+ Object.keys(measurement.writes).forEach(function(id) {
48
measurement.writes[id].forEach(function(write) {
49
items.push({
50
id: id,
51
type: DOM_OPERATION_TYPES[write.type] || write.type,
53
- args: write.args
52
+ args: write.args,
53
});
54
});
56
- }
57
- }
55
+ });
56
+ });
57
return items;
58
}
59
@@ -78,7 +77,7 @@ function getExclusiveSummary(measurements) {
77
inclusive: 0,
78
exclusive: 0,
79
render: 0,
81
- count: 0
80
+ count: 0,
81
};
82
if (measurement.render[id]) {
83
candidates[displayName].render += measurement.render[id];
@@ -142,7 +141,7 @@ function getInclusiveSummary(measurements, onlyClean) {
141
candidates[inclusiveKey] = candidates[inclusiveKey] || {
142
componentName: inclusiveKey,
143
time: 0,
145
- count: 0
144
+ count: 0,
145
};
146
147
if (measurement.inclusive[id]) {
@@ -198,7 +197,7 @@ var ReactDefaultPerfAnalysis = {
197
getExclusiveSummary: getExclusiveSummary,
198
getInclusiveSummary: getInclusiveSummary,
199
getDOMSummary: getDOMSummary,
201
- getTotalTime: getTotalTime
200
+ getTotalTime: getTotalTime,
201
};
202
203
module.exports = ReactDefaultPerfAnalysis;
src/test/ReactPerf.js
+2
-2
@@ -81,8 +81,8 @@ var ReactPerf = {
81
*/
82
injectMeasure: function(measure) {
83
ReactPerf.storedMeasure = measure;
84
- }
85
- }
84
+ },
85
+ },
86
};
87
88
/**
src/test/ReactTestUtils.js
+10
-11
@@ -279,7 +279,7 @@ var ReactTestUtils = {
279
* @return {object} the ReactTestUtils object (for chaining)
280
*/
281
mockComponent: function(module, mockTagName) {
282
- mockTagName = mockTagName || module.mockTagName || "div";
282
+ mockTagName = mockTagName || module.mockTagName || 'div';
283
284
module.prototype.render.mockImplementation(function() {
285
return React.createElement(
@@ -328,8 +328,8 @@ var ReactTestUtils = {
328
nativeTouchData: function(x, y) {
329
return {
330
touches: [
331
- {pageX: x, pageY: y}
332
- ]
331
+ {pageX: x, pageY: y},
332
+ ],
333
};
334
},
335
@@ -338,7 +338,7 @@ var ReactTestUtils = {
338
},
339
340
Simulate: null,
341
- SimulateNative: {}
341
+ SimulateNative: {},
342
};
343
344
/**
@@ -376,7 +376,7 @@ NoopInternalComponent.prototype = {
376
},
377
378
unmountComponent: function() {
379
- }
379
+ },
380
381
};
382
@@ -389,8 +389,8 @@ assign(
389
},
390
_replaceNodeWithMarkupByID: function() {},
391
_renderValidatedComponent:
392
- ReactCompositeComponent.Mixin.
393
- _renderValidatedComponentWithoutOwnerOrContext
392
+ ReactCompositeComponent.Mixin
393
+ ._renderValidatedComponentWithoutOwnerOrContext,
394
}
395
);
396
@@ -521,7 +521,7 @@ function makeNativeSimulator(eventType) {
521
domComponentOrNode,
522
fakeNativeEvent
523
);
524
- } else if (!!domComponentOrNode.tagName) {
524
+ } else if (domComponentOrNode.tagName) {
525
// Will allow on actual dom nodes.
526
ReactTestUtils.simulateNativeEventOnNode(
527
eventType,
@@ -532,8 +532,7 @@ function makeNativeSimulator(eventType) {
532
};
533
}
534
535
-var eventType;
536
-for (eventType in topLevelTypes) {
535
+Object.keys(topLevelTypes).forEach(function(eventType) {
536
// Event type is stored as 'topClick' - we transform that to 'click'
537
var convenienceName = eventType.indexOf('top') === 0 ?
538
eventType.charAt(3).toLowerCase() + eventType.substr(4) : eventType;
@@ -543,6 +542,6 @@ for (eventType in topLevelTypes) {
542
*/
543
ReactTestUtils.SimulateNative[convenienceName] =
544
makeNativeSimulator(eventType);
546
-}
545
+});
546
547
module.exports = ReactTestUtils;
src/test/__tests__/MetaMatchers-test.js
+2
@@ -9,6 +9,8 @@
9
* @emails react-core
10
*/
11
12
+'use strict';
13
+
14
var MetaMatchers = require('MetaMatchers');
15
16
describe('meta-matchers', function() {
src/test/__tests__/ReactTestUtils-test.js
+13
-13
@@ -34,7 +34,7 @@ describe('ReactTestUtils', function() {
34
<span className="child2" />
35
</div>
36
);
37
- }
37
+ },
38
});
39
40
var shallowRenderer = ReactTestUtils.createRenderer();
@@ -45,7 +45,7 @@ describe('ReactTestUtils', function() {
45
expect(result.type).toBe('div');
46
expect(result.props.children).toEqual([
47
<span className="child1" />,
48
- <span className="child2" />
48
+ <span className="child2" />,
49
]);
50
});
51
@@ -56,7 +56,7 @@ describe('ReactTestUtils', function() {
56
render: function() {
57
return <div />;
58
},
59
- componentWillUnmount
59
+ componentWillUnmount,
60
});
61
62
var shallowRenderer = ReactTestUtils.createRenderer();
@@ -70,7 +70,7 @@ describe('ReactTestUtils', function() {
70
var SomeComponent = React.createClass({
71
render: function() {
72
return null;
73
- }
73
+ },
74
});
75
76
var shallowRenderer = ReactTestUtils.createRenderer();
@@ -111,7 +111,7 @@ describe('ReactTestUtils', function() {
111
</div>
112
);
113
}
114
- }
114
+ },
115
});
116
117
var shallowRenderer = ReactTestUtils.createRenderer();
@@ -120,7 +120,7 @@ describe('ReactTestUtils', function() {
120
expect(result.type).toBe('div');
121
expect(result.props.children).toEqual([
122
<span className="child1" />,
123
- <span className="child2" />
123
+ <span className="child2" />,
124
]);
125
126
shallowRenderer.render(<SomeComponent aNew="prop" />);
@@ -163,7 +163,7 @@ describe('ReactTestUtils', function() {
163
164
var shallowRenderer = ReactTestUtils.createRenderer();
165
shallowRenderer.render(<SimpleComponent />, {
166
- name: "foo",
166
+ name: 'foo',
167
});
168
var result = shallowRenderer.getRenderOutput();
169
expect(result).toEqual(<div>foo</div>);
@@ -236,7 +236,7 @@ describe('ReactTestUtils', function() {
236
var Foo = React.createClass({
237
render: function() {
238
return <div />;
239
- }
239
+ },
240
});
241
242
class Bar extends React.Component {
@@ -270,15 +270,15 @@ describe('ReactTestUtils', function() {
270
'input',
271
'option',
272
'select',
273
- 'textarea'
273
+ 'textarea',
274
];
275
276
injectedDOMComponents.forEach(function(type) {
277
- var component = ReactTestUtils.renderIntoDocument(
277
+ var testComponent = ReactTestUtils.renderIntoDocument(
278
React.createElement(type)
279
);
280
- expect(component.tagName).toBe(type.toUpperCase());
281
- expect(ReactTestUtils.isDOMComponent(component)).toBe(true);
280
+ expect(testComponent.tagName).toBe(type.toUpperCase());
281
+ expect(ReactTestUtils.isDOMComponent(testComponent)).toBe(true);
282
});
283
284
// Full-page components (html, head, body) can't be rendered into a div
@@ -295,7 +295,7 @@ describe('ReactTestUtils', function() {
295
</body>
296
</html>
297
);
298
- }
298
+ },
299
});
300
301
var markup = React.renderToString(<Root />);
src/test/__tests__/reactComponentExpect-test.js
+1
-1
@@ -32,7 +32,7 @@ describe('reactComponentExpect', function() {
32
{'This is text'}
33
</div>
34
);
35
- }
35
+ },
36
});
37
38
var component = ReactTestUtils.renderIntoDocument(<SomeComponent />);
src/test/createHierarchyRenderer.js
+6
-4
@@ -9,6 +9,8 @@
9
* @providesModule createHierarchyRenderer
10
*/
11
12
+'use strict';
13
+
14
var React = require('React');
15
16
/**
@@ -53,15 +55,15 @@ var React = require('React');
55
function createHierarchyRenderer(...renderMethods) {
56
var instances;
57
var Components = renderMethods.reduceRight(
56
- function(Components, renderMethod, depth) {
58
+ function(ComponentsAccumulator, renderMethod, depth) {
59
var Component = React.createClass({
60
displayName: renderMethod.name,
61
render: function() {
62
instances[depth].push(this);
61
- return renderMethod.apply(this, Components);
62
- }
63
+ return renderMethod.apply(this, ComponentsAccumulator);
64
+ },
65
});
64
- return [Component].concat(Components);
66
+ return [Component].concat(ComponentsAccumulator);
67
},
68
[]
69
);
src/test/reactComponentExpect.js
+1
-1
@@ -218,7 +218,7 @@ assign(reactComponentExpectInternal.prototype, {
218
.toEqual(contextNameToExpectedValue[contextName]);
219
}
220
return this;
221
- }
221
+ },
222
});
223
224
module.exports = reactComponentExpect;