[material-ui][useMediaQuery] Adapt test implementation for React 19 #43269
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While upgrading to React 19 (PR) a
useMediaQuery
test started to fail.React 19 is calling
React.useMemo
and other hooks in a different way than React 18 and that is making ourfakeMatchMedia
test implementation to fail. This fake implementation keeps a list ofmatchMedia
instances to later be able to assert things, but the list of instances has a different order in React 18 and React 19.To solve it, I've added a
Map
ofmatchMedia
instances so we only create one for a givenquery
. This is closer to how the realwindow.matchMedia
is used inuseMediaQuery
, because it's just a local variable (see source code).The changes in this PR makes the test pass also in React 19 as you can see in #42824