@samitouri / QOS-React-2 / commits / a28325e412

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;