diff --git a/src/__tests__/inspectedElementContext-test.js b/src/__tests__/inspectedElementContext-test.js index 2ae0b0743c..5ea1de4f16 100644 --- a/src/__tests__/inspectedElementContext-test.js +++ b/src/__tests__/inspectedElementContext-test.js @@ -8,6 +8,7 @@ import type Store from 'src/devtools/store'; describe('InspectedElementContext', () => { let React; let ReactDOM; + let act; let TestRenderer: ReactTestRenderer; let bridge: Bridge; let store: Store; @@ -19,6 +20,20 @@ describe('InspectedElementContext', () => { let StoreContext; let TreeContextController; + // a version of actAsync that *doesn't* recursively flush timers + async function actAsync(cb: () => *): Promise { + + // $FlowFixMe Flow doesn't know about "await act()" yet + await act(async () => { + await cb(); + }); + // $FlowFixMe Flow doesn't know about "await act()" yet + await act(async () => { + jest.runOnlyPendingTimers(); + }); + } + + beforeEach(() => { utils = require('./utils'); utils.beforeEachProfiling(); @@ -29,6 +44,7 @@ describe('InspectedElementContext', () => { React = require('react'); ReactDOM = require('react-dom'); + act = require('react-dom/test-utils').act TestRenderer = utils.requireTestRenderer(); BridgeContext = require('src/devtools/views/context').BridgeContext; @@ -84,7 +100,7 @@ describe('InspectedElementContext', () => { return null; } - await utils.actAsync( + await actAsync( () => TestRenderer.create( { - ), - 3 + ) ); expect(didFinish).toBe(true); @@ -120,7 +135,7 @@ describe('InspectedElementContext', () => { return null; } - await utils.actAsync( + await actAsync( () => TestRenderer.create( { - ), - 3 + ) ); expect(inspectedElement).toMatchSnapshot('2: initial render'); - await utils.actAsync(() => + await actAsync(() => ReactDOM.render(, container) ); inspectedElement = null; - await utils.actAsync( + await actAsync( () => TestRenderer.create( { - ), - 1 + ) ); expect(inspectedElement).toMatchSnapshot('2: updated state'); @@ -194,7 +207,7 @@ describe('InspectedElementContext', () => { targetRenderCount = 0; let renderer; - await utils.actAsync( + await actAsync( () => (renderer = TestRenderer.create( { - )), - 3 + )) ); expect(targetRenderCount).toBe(1); expect(inspectedElement).toMatchSnapshot('2: initial render'); @@ -215,7 +227,7 @@ describe('InspectedElementContext', () => { targetRenderCount = 0; inspectedElement = null; - await utils.actAsync( + await actAsync( () => renderer.update( { - ), - 1 + ) ); expect(targetRenderCount).toBe(0); expect(inspectedElement).toEqual(initialInspectedElement); targetRenderCount = 0; - await utils.actAsync(() => + await actAsync(() => ReactDOM.render( diff --git a/src/__tests__/ownersListContext-test.js b/src/__tests__/ownersListContext-test.js index 428b9815cb..01a7fd5421 100644 --- a/src/__tests__/ownersListContext-test.js +++ b/src/__tests__/ownersListContext-test.js @@ -92,8 +92,7 @@ describe('OwnersListContext', () => { - ), - 3 + ) ); expect(didFinish).toBe(true); @@ -106,8 +105,7 @@ describe('OwnersListContext', () => { - ), - 3 + ) ); expect(didFinish).toBe(true); @@ -156,8 +154,7 @@ describe('OwnersListContext', () => { - ), - 3 + ) ); expect(didFinish).toBe(true); @@ -198,8 +195,7 @@ describe('OwnersListContext', () => { - ), - 3 + ) ); expect(didFinish).toBe(true);