Repository navigation
test(core): the copy test's entrances outlast any setup - #9991
Conversation
The copy test styles three entrances at 100 ms and finishes them itself after the page loads, an evaluate round trip and a frame. On a loaded runner that setup takes longer than 100 ms, so the backwards-filled and unfilled entrances have already ended and left the element, and getAnimations()[0] is undefined (seen in pr-interaction-webkit). The entrances now last 100 s, so each still runs when the test reads it, and finish() ends it there as before. What the test checks is unchanged: no entrance plays again in the copy, whether it holds its end or not.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
AI review status for this pull request.
|
PR Analysis Report🔎 Preview ·
|
There was a problem hiding this comment.
Approved pending CI: CI has not run on this head yet. The pull request is still a draft and its branch is in a fork, so once it is marked ready for review, a maintainer adds the ci:run label so CI runs (the label takes effect on the next push or a close and reopen).
The change is test-only and keeps the copy test's check intact: with 100 s entrances the test's own finish() always finds a running animation, and the copy still has to end each entrance instead of playing it again. Nothing else is needed.
[Automated review]
There was a problem hiding this comment.
Approved pending CI: CI is still running on this head.
Since the last review, the only change is a merge of main; the patch itself is unchanged and still test-only. With 100 s entrances the copy test's own finish() always finds a running animation, and the copy still has to end each entrance instead of playing it again.
[Automated review]
Maintainer impact
One animated-layout test fails on a loaded WebKit runner: "a copy carries on the CSS animations and transitions running in the old state, from where they were". It throws
TypeError: undefined is not an object (evaluating 'pick(panel, name).getAnimations()[0].finish'), as in #9962'spr-interaction-webkit. The test styles three entrances at 100 ms. It finishes them itself after the page loads, an evaluate round trip and a frame. When that setup takes longer than 100 ms, the backwards-filled and unfilled entrances have already ended and left the element, sogetAnimations()[0]is undefined.Intended invariant
What the test checks is unchanged: no entrance plays again in the copy, whether it holds its end or not. No product code changes, and no timeout changes.
Change
The three entrances last 100 s instead of 100 ms. So each still runs when the test reads it, and
finish()ends it there as before.Evidence
e657dc97e6(mainplus the wait) fails 5 of 5 in WebKit with the CI's exact error.437ad9536d(the same probe with this change) passes 5 of 5.main(d23d1fe438) failed 18 of 20 with that error, and this change passed 20 of 20.Scope
Testing
CI=true pnpm linton the spec: 0 errors.gh pr list's file lists. As a positive control, the same query finds feat(core): the animator's springs follow the theme's tempo #8677 and feat(core): a CSS part times itself from its spring's settle at the theme's tempo #8686 foranimatedLayout.test.ts. A paginated scan of the 32 pull requests with 100 or more files finds only fix(core): a mouse release lands on the hover the control still has #8727. Its old base adds a 1,041-line copy of the spec, and this change's hunk sits at lines 2883–2908, past its end.