Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions tests/browser/layout.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -610,7 +610,9 @@ readingTest(
),
)
.toBeLessThan(4);
await settle(page);
// Opening at the bottom ends in a downward scroll. Until Virtua's idle, its
// buffer covers only the side below, so no row above the viewport is mounted.
await virtuaIdle(page);
await expectBottom();
const rows = await history.evaluate((element) => {
const top = element.getBoundingClientRect().top;
Expand All @@ -627,7 +629,7 @@ readingTest(
};
});
expect(rows).not.toBeNull();
await settle(page);
await virtuaIdle(page);
await expectBottom();
await history.evaluate((element, ids) => {
const row = (id) =>
Expand Down
5 changes: 4 additions & 1 deletion tests/browser/reactions.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -406,9 +406,12 @@ test("standalone message gallery hosts clipboard success and failure toasts", as
await row
.getByRole("button", { name: "More message actions", exact: true })
.click();
// This test covers toast hosting, not pointer hit-testing. A pointer click
// can race the popup's first placement, and Playwright's scroll retries
// then move the page under the open menu. The keyboard path avoids both.
await page
.getByRole("menuitem", { name: "Copy message", exact: true })
.click();
.press("Enter");
};
await copy();
await expect(
Expand Down
Loading