Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Provide timestamp as argument to rAF callbacks when running Jest tests (
#35919) Summary: This change aligns requestAnimationFrame implementation used in Jest environment with web standard, and with the implementation that runs in the application environment. As per specification https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame#parameters – requestAnimationFrame callback gets a single parameter, which represents the current frame timestamp. The current polyfill maps requestAnimationFrame directly to setTimeout which makes the callback execute without any parameters. ## Changelog [General] [Fixed] - Jest mocked requestAnimationFrame callbacks now receive a timestamp parameter Pull Request resolved: #35919 Test Plan: 1. execute jest test suite to make sure nothing breaks 2. add the below code to one of the tests: ``` jest.useFakeTimers(); requestAnimationFrame((timestamp) => console.log("rAF", timestamp)); jest.runOnlyPendingTimers(); jest.useRealTimers(); ``` this code will print `undefined` before and numer `0` representing the mocked frame time after this change. Reviewed By: jacdebug Differential Revision: D42676544 Pulled By: robhogan fbshipit-source-id: 363dc506ccc4bd034408fbb35ad3151875a8d309
- Loading branch information