From a28325e412a3c5f43b485a2df4d94fc86691c5d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20O=E2=80=99Shannessy?= Date: Thu, 16 Jul 2015 11:45:00 -0700 Subject: [PATCH] Enable linting in src/tests, cleanup --- .eslintignore | 2 -- src/test/MetaMatchers.js | 8 +++--- src/test/ReactDefaultPerf.js | 18 ++++++------- src/test/ReactDefaultPerfAnalysis.js | 23 ++++++++-------- src/test/ReactPerf.js | 4 +-- src/test/ReactTestUtils.js | 21 +++++++-------- src/test/__tests__/MetaMatchers-test.js | 2 ++ src/test/__tests__/ReactTestUtils-test.js | 26 +++++++++---------- .../__tests__/reactComponentExpect-test.js | 2 +- src/test/createHierarchyRenderer.js | 10 ++++--- src/test/reactComponentExpect.js | 2 +- 11 files changed, 60 insertions(+), 58 deletions(-) diff --git a/.eslintignore b/.eslintignore index b234eca243..8b66781299 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,7 +1,5 @@ # We can probably lint these later but not important at this point src/shared/vendor -# This should be enabled but that folder has too much in it that doesn't belong -src/test # But not in docs/_js/examples/* docs/_js/*.js docs/js/ diff --git a/src/test/MetaMatchers.js b/src/test/MetaMatchers.js index 3e1dcd2f6e..77d3bf9261 100644 --- a/src/test/MetaMatchers.js +++ b/src/test/MetaMatchers.js @@ -28,7 +28,9 @@ function getRunnerWithResults(describeFunction) { // Execute the tests synchronously. env.updateInterval = 0; var outerGetEnv = jasmine.getEnv; - jasmine.getEnv = function() { return env; }; + jasmine.getEnv = function() { + return env; + }; // TODO: Bring over matchers from the existing environment. var runner = env.currentRunner(); try { @@ -116,11 +118,11 @@ var MetaMatchers = { this.message = function() { return [ errorMessage, - 'The specs are equal. Expected them to be different.' + 'The specs are equal. Expected them to be different.', ]; }; return !errorMessage; - } + }, }; module.exports = MetaMatchers; diff --git a/src/test/ReactDefaultPerf.js b/src/test/ReactDefaultPerf.js index 26fe2cee16..8b473a25e1 100644 --- a/src/test/ReactDefaultPerf.js +++ b/src/test/ReactDefaultPerf.js @@ -60,7 +60,7 @@ var ReactDefaultPerf = { 'Exclusive render time (ms)': roundFloat(item.render), 'Mount time per instance (ms)': roundFloat(item.exclusive / item.count), 'Render time per instance (ms)': roundFloat(item.render / item.count), - 'Instances': item.count + 'Instances': item.count, }; })); // TODO: ReactDefaultPerfAnalysis.getTotalTime() does not return the correct @@ -74,7 +74,7 @@ var ReactDefaultPerf = { return { 'Owner > component': item.componentName, 'Inclusive time (ms)': roundFloat(item.time), - 'Instances': item.count + 'Instances': item.count, }; })); console.log( @@ -92,7 +92,7 @@ var ReactDefaultPerf = { return { 'Owner > component': item.componentName, 'Wasted time (ms)': item.time, - 'Instances': item.count + 'Instances': item.count, }; }); }, @@ -112,8 +112,8 @@ var ReactDefaultPerf = { console.table(summary.map(function(item) { var result = {}; result[DOMProperty.ID_ATTRIBUTE_NAME] = item.id; - result['type'] = item.type; - result['args'] = JSON.stringify(item.args); + result.type = item.type; + result.args = JSON.stringify(item.args); return result; })); console.log( @@ -132,7 +132,7 @@ var ReactDefaultPerf = { writes[id].push({ type: fnName, time: totalTime, - args: args + args: args, }); }, @@ -155,7 +155,7 @@ var ReactDefaultPerf = { counts: {}, writes: {}, displayNames: {}, - totalTime: 0 + totalTime: 0, }); start = performanceNow(); rv = func.apply(this, args); @@ -250,7 +250,7 @@ var ReactDefaultPerf = { current: this.getName(), owner: this._currentElement._owner ? this._currentElement._owner.getName() : - '' + '', }; return rv; @@ -258,7 +258,7 @@ var ReactDefaultPerf = { return func.apply(this, args); } }; - } + }, }; module.exports = ReactDefaultPerf; diff --git a/src/test/ReactDefaultPerfAnalysis.js b/src/test/ReactDefaultPerfAnalysis.js index a18767b751..869c2b0e39 100644 --- a/src/test/ReactDefaultPerfAnalysis.js +++ b/src/test/ReactDefaultPerfAnalysis.js @@ -9,6 +9,8 @@ * @providesModule ReactDefaultPerfAnalysis */ +'use strict'; + var assign = require('Object.assign'); // Don't try to save users less than 1.2ms (a number I made up) @@ -23,7 +25,7 @@ var DOM_OPERATION_TYPES = { 'deletePropertyByID': 'delete attribute', 'updateStylesByID': 'update styles', 'updateInnerHTMLByID': 'set innerHTML', - 'dangerouslyReplaceNodeWithMarkupByID': 'replace' + 'dangerouslyReplaceNodeWithMarkupByID': 'replace', }; function getTotalTime(measurements) { @@ -41,20 +43,17 @@ function getTotalTime(measurements) { function getDOMSummary(measurements) { var items = []; - for (var i = 0; i < measurements.length; i++) { - var measurement = measurements[i]; - var id; - - for (id in measurement.writes) { + measurements.forEach(function(measurement) { + Object.keys(measurement.writes).forEach(function(id) { measurement.writes[id].forEach(function(write) { items.push({ id: id, type: DOM_OPERATION_TYPES[write.type] || write.type, - args: write.args + args: write.args, }); }); - } - } + }); + }); return items; } @@ -78,7 +77,7 @@ function getExclusiveSummary(measurements) { inclusive: 0, exclusive: 0, render: 0, - count: 0 + count: 0, }; if (measurement.render[id]) { candidates[displayName].render += measurement.render[id]; @@ -142,7 +141,7 @@ function getInclusiveSummary(measurements, onlyClean) { candidates[inclusiveKey] = candidates[inclusiveKey] || { componentName: inclusiveKey, time: 0, - count: 0 + count: 0, }; if (measurement.inclusive[id]) { @@ -198,7 +197,7 @@ var ReactDefaultPerfAnalysis = { getExclusiveSummary: getExclusiveSummary, getInclusiveSummary: getInclusiveSummary, getDOMSummary: getDOMSummary, - getTotalTime: getTotalTime + getTotalTime: getTotalTime, }; module.exports = ReactDefaultPerfAnalysis; diff --git a/src/test/ReactPerf.js b/src/test/ReactPerf.js index 9e6e316b90..639f4c80ce 100644 --- a/src/test/ReactPerf.js +++ b/src/test/ReactPerf.js @@ -81,8 +81,8 @@ var ReactPerf = { */ injectMeasure: function(measure) { ReactPerf.storedMeasure = measure; - } - } + }, + }, }; /** diff --git a/src/test/ReactTestUtils.js b/src/test/ReactTestUtils.js index 3574c66963..8c47175f63 100644 --- a/src/test/ReactTestUtils.js +++ b/src/test/ReactTestUtils.js @@ -279,7 +279,7 @@ var ReactTestUtils = { * @return {object} the ReactTestUtils object (for chaining) */ mockComponent: function(module, mockTagName) { - mockTagName = mockTagName || module.mockTagName || "div"; + mockTagName = mockTagName || module.mockTagName || 'div'; module.prototype.render.mockImplementation(function() { return React.createElement( @@ -328,8 +328,8 @@ var ReactTestUtils = { nativeTouchData: function(x, y) { return { touches: [ - {pageX: x, pageY: y} - ] + {pageX: x, pageY: y}, + ], }; }, @@ -338,7 +338,7 @@ var ReactTestUtils = { }, Simulate: null, - SimulateNative: {} + SimulateNative: {}, }; /** @@ -376,7 +376,7 @@ NoopInternalComponent.prototype = { }, unmountComponent: function() { - } + }, }; @@ -389,8 +389,8 @@ assign( }, _replaceNodeWithMarkupByID: function() {}, _renderValidatedComponent: - ReactCompositeComponent.Mixin. - _renderValidatedComponentWithoutOwnerOrContext + ReactCompositeComponent.Mixin + ._renderValidatedComponentWithoutOwnerOrContext, } ); @@ -521,7 +521,7 @@ function makeNativeSimulator(eventType) { domComponentOrNode, fakeNativeEvent ); - } else if (!!domComponentOrNode.tagName) { + } else if (domComponentOrNode.tagName) { // Will allow on actual dom nodes. ReactTestUtils.simulateNativeEventOnNode( eventType, @@ -532,8 +532,7 @@ function makeNativeSimulator(eventType) { }; } -var eventType; -for (eventType in topLevelTypes) { +Object.keys(topLevelTypes).forEach(function(eventType) { // Event type is stored as 'topClick' - we transform that to 'click' var convenienceName = eventType.indexOf('top') === 0 ? eventType.charAt(3).toLowerCase() + eventType.substr(4) : eventType; @@ -543,6 +542,6 @@ for (eventType in topLevelTypes) { */ ReactTestUtils.SimulateNative[convenienceName] = makeNativeSimulator(eventType); -} +}); module.exports = ReactTestUtils; diff --git a/src/test/__tests__/MetaMatchers-test.js b/src/test/__tests__/MetaMatchers-test.js index dd6544700f..6f8a26adfe 100644 --- a/src/test/__tests__/MetaMatchers-test.js +++ b/src/test/__tests__/MetaMatchers-test.js @@ -9,6 +9,8 @@ * @emails react-core */ +'use strict'; + var MetaMatchers = require('MetaMatchers'); describe('meta-matchers', function() { diff --git a/src/test/__tests__/ReactTestUtils-test.js b/src/test/__tests__/ReactTestUtils-test.js index f038b2f5be..ba5fe25d39 100644 --- a/src/test/__tests__/ReactTestUtils-test.js +++ b/src/test/__tests__/ReactTestUtils-test.js @@ -34,7 +34,7 @@ describe('ReactTestUtils', function() { ); - } + }, }); var shallowRenderer = ReactTestUtils.createRenderer(); @@ -45,7 +45,7 @@ describe('ReactTestUtils', function() { expect(result.type).toBe('div'); expect(result.props.children).toEqual([ , - + , ]); }); @@ -56,7 +56,7 @@ describe('ReactTestUtils', function() { render: function() { return
; }, - componentWillUnmount + componentWillUnmount, }); var shallowRenderer = ReactTestUtils.createRenderer(); @@ -70,7 +70,7 @@ describe('ReactTestUtils', function() { var SomeComponent = React.createClass({ render: function() { return null; - } + }, }); var shallowRenderer = ReactTestUtils.createRenderer(); @@ -111,7 +111,7 @@ describe('ReactTestUtils', function() {
); } - } + }, }); var shallowRenderer = ReactTestUtils.createRenderer(); @@ -120,7 +120,7 @@ describe('ReactTestUtils', function() { expect(result.type).toBe('div'); expect(result.props.children).toEqual([ , - + , ]); shallowRenderer.render(); @@ -163,7 +163,7 @@ describe('ReactTestUtils', function() { var shallowRenderer = ReactTestUtils.createRenderer(); shallowRenderer.render(, { - name: "foo", + name: 'foo', }); var result = shallowRenderer.getRenderOutput(); expect(result).toEqual(
foo
); @@ -236,7 +236,7 @@ describe('ReactTestUtils', function() { var Foo = React.createClass({ render: function() { return
; - } + }, }); class Bar extends React.Component { @@ -270,15 +270,15 @@ describe('ReactTestUtils', function() { 'input', 'option', 'select', - 'textarea' + 'textarea', ]; injectedDOMComponents.forEach(function(type) { - var component = ReactTestUtils.renderIntoDocument( + var testComponent = ReactTestUtils.renderIntoDocument( React.createElement(type) ); - expect(component.tagName).toBe(type.toUpperCase()); - expect(ReactTestUtils.isDOMComponent(component)).toBe(true); + expect(testComponent.tagName).toBe(type.toUpperCase()); + expect(ReactTestUtils.isDOMComponent(testComponent)).toBe(true); }); // Full-page components (html, head, body) can't be rendered into a div @@ -295,7 +295,7 @@ describe('ReactTestUtils', function() { ); - } + }, }); var markup = React.renderToString(); diff --git a/src/test/__tests__/reactComponentExpect-test.js b/src/test/__tests__/reactComponentExpect-test.js index f6801933dd..a577985b12 100644 --- a/src/test/__tests__/reactComponentExpect-test.js +++ b/src/test/__tests__/reactComponentExpect-test.js @@ -32,7 +32,7 @@ describe('reactComponentExpect', function() { {'This is text'}
); - } + }, }); var component = ReactTestUtils.renderIntoDocument(); diff --git a/src/test/createHierarchyRenderer.js b/src/test/createHierarchyRenderer.js index a10c4bdb09..106ff7daef 100644 --- a/src/test/createHierarchyRenderer.js +++ b/src/test/createHierarchyRenderer.js @@ -9,6 +9,8 @@ * @providesModule createHierarchyRenderer */ +'use strict'; + var React = require('React'); /** @@ -53,15 +55,15 @@ var React = require('React'); function createHierarchyRenderer(...renderMethods) { var instances; var Components = renderMethods.reduceRight( - function(Components, renderMethod, depth) { + function(ComponentsAccumulator, renderMethod, depth) { var Component = React.createClass({ displayName: renderMethod.name, render: function() { instances[depth].push(this); - return renderMethod.apply(this, Components); - } + return renderMethod.apply(this, ComponentsAccumulator); + }, }); - return [Component].concat(Components); + return [Component].concat(ComponentsAccumulator); }, [] ); diff --git a/src/test/reactComponentExpect.js b/src/test/reactComponentExpect.js index 4b431fe8fb..b66a185651 100644 --- a/src/test/reactComponentExpect.js +++ b/src/test/reactComponentExpect.js @@ -218,7 +218,7 @@ assign(reactComponentExpectInternal.prototype, { .toEqual(contextNameToExpectedValue[contextName]); } return this; - } + }, }); module.exports = reactComponentExpect;