Skip to content

Commit

Permalink
fix[devtools/e2e]: add fallback for act in integration tests (#27842)
Browse files Browse the repository at this point in the history
facebook/react#27805 broke integration tests for
React DevTools with React 17, these changes introduce a fallback for
such case when `act` is not available in `react`, but available in
`react-dom`, like before.
  • Loading branch information
jerrydev0927 committed Dec 17, 2023
1 parent 210c14d commit 52e20fd
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions packages/react-devtools-shared/src/__tests__/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ export function act(
recursivelyFlush: boolean = true,
): void {
const {act: actTestRenderer} = require('react-test-renderer');
const actDOM = require('react').unstable_act;
// Use `require('react-dom/test-utils').act` as a fallback for React 17, which can be used in integration tests for React DevTools.
const actDOM =
require('react').unstable_act || require('react-dom/test-utils').act;

actDOM(() => {
actTestRenderer(() => {
Expand All @@ -44,7 +46,9 @@ export async function actAsync(
recursivelyFlush: boolean = true,
): Promise<void> {
const {act: actTestRenderer} = require('react-test-renderer');
const actDOM = require('react').unstable_act;
// Use `require('react-dom/test-utils').act` as a fallback for React 17, which can be used in integration tests for React DevTools.
const actDOM =
require('react').unstable_act || require('react-dom/test-utils').act;

await actDOM(async () => {
await actTestRenderer(async () => {
Expand Down

0 comments on commit 52e20fd

Please sign in to comment.