diff --git a/packages/react-dom/src/__tests__/ReactCompositeComponentState-test.js b/packages/react-dom/src/__tests__/ReactCompositeComponentState-test.js
index ecb30f0f1d78e..bd11d1ab6d016 100644
--- a/packages/react-dom/src/__tests__/ReactCompositeComponentState-test.js
+++ b/packages/react-dom/src/__tests__/ReactCompositeComponentState-test.js
@@ -152,21 +152,6 @@ describe('ReactCompositeComponent-state', () => {
root.render();
});
- await act(() => {
- root.render();
- });
-
- await act(() => {
- testComponentInstance.setFavoriteColor('blue');
- });
- await act(() => {
- testComponentInstance.forceUpdate(
- testComponentInstance.peekAtCallback('forceUpdate'),
- );
- });
-
- root.unmount();
-
assertLog([
// there is no state when getInitialState() is called
'getInitialState undefined',
@@ -198,6 +183,13 @@ describe('ReactCompositeComponent-state', () => {
'componentDidUpdate-prevState orange',
'setState-yellow yellow',
'commit yellow',
+ ]);
+
+ await act(() => {
+ root.render();
+ });
+
+ assertLog([
'componentWillReceiveProps-start yellow',
// setState({color:'green'}) only enqueues a pending state.
'componentWillReceiveProps-end yellow',
@@ -216,6 +208,13 @@ describe('ReactCompositeComponent-state', () => {
'componentDidUpdate-prevState yellow',
'setState-receiveProps green',
'commit green',
+ ]);
+
+ await act(() => {
+ testComponentInstance.setFavoriteColor('blue');
+ });
+
+ assertLog([
// setFavoriteColor('blue')
'shouldComponentUpdate-currentState green',
'shouldComponentUpdate-nextState blue',
@@ -226,6 +225,13 @@ describe('ReactCompositeComponent-state', () => {
'componentDidUpdate-prevState green',
'setFavoriteColor blue',
'commit blue',
+ ]);
+ await act(() => {
+ testComponentInstance.forceUpdate(
+ testComponentInstance.peekAtCallback('forceUpdate'),
+ );
+ });
+ assertLog([
// forceUpdate()
'componentWillUpdate-currentState blue',
'componentWillUpdate-nextState blue',
@@ -234,7 +240,12 @@ describe('ReactCompositeComponent-state', () => {
'componentDidUpdate-prevState blue',
'forceUpdate blue',
'commit blue',
- // unmountComponent()
+ ]);
+
+ root.unmount();
+
+ assertLog([
+ // unmount()
// state is available within `componentWillUnmount()`
'componentWillUnmount blue',
]);
@@ -375,13 +386,13 @@ describe('ReactCompositeComponent-state', () => {
await act(() => {
root.render();
});
+
+ assertLog(['parent render one', 'child render one']);
await act(() => {
root.render();
});
assertLog([
- 'parent render one',
- 'child render one',
'parent render one',
'child componentWillReceiveProps one',
'child componentWillReceiveProps done one',