diff --git a/src/isomorphic/ReactDebugTool.js b/src/isomorphic/ReactDebugTool.js index 63f3251847..5145f8ab31 100644 --- a/src/isomorphic/ReactDebugTool.js +++ b/src/isomorphic/ReactDebugTool.js @@ -115,6 +115,9 @@ var ReactDebugTool = { } } }, + isProfiling() { + return isProfiling; + }, beginProfiling() { if (__DEV__) { if (isProfiling) { diff --git a/src/isomorphic/ReactPerf.js b/src/isomorphic/ReactPerf.js index 01f1aee388..209651e216 100644 --- a/src/isomorphic/ReactPerf.js +++ b/src/isomorphic/ReactPerf.js @@ -351,6 +351,10 @@ function stop() { ReactDebugTool.endProfiling(); } +function isRunning() { + return ReactDebugTool.isProfiling(); +} + var ReactPerfAnalysis = { getLastMeasurements: getFlushHistory, getExclusive, @@ -363,6 +367,7 @@ var ReactPerfAnalysis = { printOperations, start, stop, + isRunning, // Deprecated: printDOM, getMeasurementsSummaryMap, diff --git a/src/isomorphic/__tests__/ReactDebugTool-test.js b/src/isomorphic/__tests__/ReactDebugTool-test.js index bae09516f5..889b909798 100644 --- a/src/isomorphic/__tests__/ReactDebugTool-test.js +++ b/src/isomorphic/__tests__/ReactDebugTool-test.js @@ -72,4 +72,14 @@ describe('ReactDebugTool', function() { ReactDebugTool.onTestEvent(); expect(console.error.calls.length).toBe(1); }); + + it('returns isProfiling state', () => { + expect(ReactDebugTool.isProfiling()).toBe(false); + + ReactDebugTool.beginProfiling(); + expect(ReactDebugTool.isProfiling()).toBe(true); + + ReactDebugTool.endProfiling(); + expect(ReactDebugTool.isProfiling()).toBe(false); + }); }); diff --git a/src/isomorphic/__tests__/ReactPerf-test.js b/src/isomorphic/__tests__/ReactPerf-test.js index 644bc618b8..81e5131855 100644 --- a/src/isomorphic/__tests__/ReactPerf-test.js +++ b/src/isomorphic/__tests__/ReactPerf-test.js @@ -16,6 +16,7 @@ describe('ReactPerf', function() { var ReactDOM; var ReactPerf; var ReactTestUtils; + var ReactDebugTool; var App; var Box; @@ -36,6 +37,7 @@ describe('ReactPerf', function() { ReactDOM = require('ReactDOM'); ReactPerf = require('ReactPerf'); ReactTestUtils = require('ReactTestUtils'); + ReactDebugTool = require('ReactDebugTool'); App = React.createClass({ render: function() { @@ -283,4 +285,12 @@ describe('ReactPerf', function() { ReactPerf.printDOM(measurements); expect(console.error.calls.length).toBe(1); }); + + it('returns isRunning state', () => { + spyOn(ReactDebugTool, 'isProfiling'); + + ReactPerf.isRunning(); + expect(ReactDebugTool.isProfiling.calls.length).toBe(1); + expect(ReactPerf.isRunning()).toBe(ReactDebugTool.isProfiling()); + }); });