From a7fe6cba6bb355846670ba08ba6ac184aa408cd1 Mon Sep 17 00:00:00 2001 From: Chris Shepherd Date: Mon, 14 Dec 2015 16:30:41 +0000 Subject: [PATCH] Updated to React 0.14 --- package.json | 8 ++++++-- specs/index-spec.js | 36 ++++++++++++++++++------------------ src/index.js | 11 ++++++----- 3 files changed, 30 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index b4b1f1f..1d97027 100644 --- a/package.json +++ b/package.json @@ -30,9 +30,13 @@ "eslint-plugin-react": "^2.7.0", "injectr": "^0.5.1", "jasmine": "^2.3.1", - "react-shallow-testutils": "^0.2.1" + "react": "0.14.3", + "react-addons-perf": "0.14.0", + "react-addons-test-utils": "^0.14.0", + "react-shallow-testutils": "^0.7.1" }, "peerDependencies": { - "react": "^0.13.3" + "react": "^0.14.0", + "react-addons-perf": "^0.14.0" } } diff --git a/specs/index-spec.js b/specs/index-spec.js index 6ef8ab6..90363d8 100644 --- a/specs/index-spec.js +++ b/specs/index-spec.js @@ -1,6 +1,7 @@ import injectr from 'injectr'; -import React from 'react/addons'; -import testUtils from 'react-shallow-testutils'; +import React from 'react'; +import {createRenderer} from 'react-addons-test-utils'; +import ShallowTestUtils from 'react-shallow-testutils'; class TestComponent extends React.Component { render() { @@ -13,11 +14,9 @@ class TestComponent extends React.Component { describe('Perf component', function() { beforeEach(function() { this.MockReactAddons = { - Perf: { - getLastMeasurements: jasmine.createSpy('Perf.getLastMeasurements'), - printWasted: jasmine.createSpy('Perf.printWasted'), - start: jasmine.createSpy('Perf.start') - } + getLastMeasurements: jasmine.createSpy('Perf.getLastMeasurements'), + printWasted: jasmine.createSpy('Perf.printWasted'), + start: jasmine.createSpy('Perf.start') }; this.MockConsole = { @@ -27,7 +26,7 @@ describe('Perf component', function() { this.NODE_ENV = 'development'; this.makePerf = () => injectr('../../src/index.js', { - 'react/addons': Object.assign({}, React, {addons: this.MockReactAddons}) + 'react-addons-perf': this.MockReactAddons }, { console: this.MockConsole, process: {env: {NODE_ENV: this.NODE_ENV}} @@ -48,10 +47,11 @@ describe('Perf component', function() { it('should render the passed component and pass any props', function() { const Perf = this.perf(TestComponent); - const renderer = new testUtils.Renderer(); - const perf = renderer.render(Perf, null, {test: 1}); + const renderer = createRenderer(); + renderer.render(); + const perf = renderer.getRenderOutput(); - const mockPerfChild = testUtils.findWithType(perf, TestComponent); + const mockPerfChild = ShallowTestUtils.findWithType(perf, TestComponent); expect(mockPerfChild.props.test).toEqual(1); }); @@ -62,25 +62,25 @@ describe('Perf component', function() { const perf = new Perf(); perf.componentDidMount(); - expect(this.MockReactAddons.Perf.start).toHaveBeenCalled(); + expect(this.MockReactAddons.start).toHaveBeenCalled(); }); it('should not print measurements if none are available', function() { const Perf = this.perf(TestComponent); - this.MockReactAddons.Perf.getLastMeasurements.and.returnValue([]); + this.MockReactAddons.getLastMeasurements.and.returnValue([]); const perf = new Perf(); perf.componentDidMount(); perf.componentDidUpdate(); - expect(this.MockReactAddons.Perf.getLastMeasurements).toHaveBeenCalled(); - expect(this.MockReactAddons.Perf.printWasted).not.toHaveBeenCalled(); + expect(this.MockReactAddons.getLastMeasurements).toHaveBeenCalled(); + expect(this.MockReactAddons.printWasted).not.toHaveBeenCalled(); expect(this.MockConsole.log).not.toHaveBeenCalled(); }); it('should print measurements if some are available', function() { const Perf = this.perf(TestComponent); - this.MockReactAddons.Perf.getLastMeasurements.and.returnValue([{ + this.MockReactAddons.getLastMeasurements.and.returnValue([{ totalTime: 192 }]); @@ -88,8 +88,8 @@ describe('Perf component', function() { perf.componentDidMount(); perf.componentDidUpdate(); - expect(this.MockReactAddons.Perf.getLastMeasurements).toHaveBeenCalled(); - expect(this.MockReactAddons.Perf.printWasted).toHaveBeenCalled(); + expect(this.MockReactAddons.getLastMeasurements).toHaveBeenCalled(); + expect(this.MockReactAddons.printWasted).toHaveBeenCalled(); expect(this.MockConsole.log).toHaveBeenCalled(); }); }); diff --git a/src/index.js b/src/index.js index 8876fae..dcc3a5a 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,5 @@ -import React from 'react/addons'; +import React from 'react'; +import ReactPerf from 'react-addons-perf'; /** * Wraps the passed in `Component` in a higher-order component. It can then @@ -16,10 +17,10 @@ export default function perf(Component) { return class Perf extends React.Component { componentDidMount() { - React.addons.Perf.start(); + ReactPerf.start(); } componentDidUpdate() { - const measurements = React.addons.Perf.getLastMeasurements(); + const measurements = ReactPerf.getLastMeasurements(); if (measurements.length > 0) { this.totalRenders = (this.totalRenders || 0) + 1; @@ -27,8 +28,8 @@ export default function perf(Component) { console.log(`Average: ${this.totalTime / this.totalRenders} over ${this.totalRenders} renders.`); - React.addons.Perf.printWasted(measurements); - React.addons.Perf.start(); + ReactPerf.printWasted(measurements); + ReactPerf.start(); } } render() {