test(web): wait out the self-dismissing WRL infobar before the chrome baseline
The WRL→STEP migration notice auto-dismisses after 10 s (pcb_edit_frame.cpp ShowMessageFor); when the timer fired between the pre-hide GL-box baseline and the post-restore comparison, the canvas shifted by the bar's height and the ±3 px restore-exactness check could never pass (CI 30289317464, web-firefox — pure timing, the wx dark form-control bump on that run was innocent). Gate the baseline on the notice being HIDDEN — its DOM node outlives the dismiss, so absence never happens. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y32etYBCKV6t1qDoLoGmgF
This commit is contained in:
parent
7c584f6e0f
commit
23af296ea4
1 changed files with 9 additions and 0 deletions
|
|
@ -66,6 +66,15 @@ test.beforeAll(async ({ browser }: { browser: Browser }) => {
|
|||
// Loading overlays (boot + lib fat-load, both `inset-0 z-30`) must be gone
|
||||
// before geometry is trusted.
|
||||
await expect(page.locator('div.inset-0.z-30')).toHaveCount(0, { timeout: 180000 });
|
||||
// The WRL→STEP migration notice self-dismisses after 10 s
|
||||
// (pcb_edit_frame.cpp ShowMessageFor) and shifts the GL canvas when it
|
||||
// goes — wait it out so the pre-hide baseline and the post-restore box
|
||||
// are measured in the same layout. It is shown synchronously during the
|
||||
// file load the title poll above already gates on, and its DOM node
|
||||
// outlives the dismiss, so wait for hidden, not absent. The un-timed
|
||||
// "older version of KiCad" infobar stays up on both sides of the
|
||||
// comparison, so it cancels out.
|
||||
await expect(page.getByText(/WRL 3D model/)).toBeHidden({ timeout: 30000 });
|
||||
});
|
||||
|
||||
test.afterAll(async () => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue