chore: bump playwright (#13947)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Updated Playwright test tooling to 1.58.2 across the repository and
test packages.

* **Tests**
* Improved end-to-end robustness: replaced fragile timing/coordinate
logic with element-based interactions, added polling/retry checks for
flaky asserts and async state, and simplified input/rename flows to
reduce test flakiness.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
DarkSky
2026-02-27 22:56:43 +08:00
committed by GitHub
parent c90f173821
commit a4e2242b8d
16 changed files with 170 additions and 119 deletions
@@ -143,17 +143,20 @@ async function assertSelection(
rangeIndex: number,
rangeLength = 0
) {
const actual = await page.evaluate(
([richTextIndex]) => {
const richText =
document?.querySelectorAll('test-rich-text')[richTextIndex];
// @ts-expect-error getInlineRange
const inlineEditor = richText.inlineEditor;
return inlineEditor?.getInlineRange();
},
[richTextIndex]
);
expect(actual).toEqual({ index: rangeIndex, length: rangeLength });
await expect
.poll(async () => {
return page.evaluate(
([richTextIndex]) => {
const richText =
document?.querySelectorAll('test-rich-text')[richTextIndex];
// @ts-expect-error getInlineRange
const inlineEditor = richText.inlineEditor;
return inlineEditor?.getInlineRange();
},
[richTextIndex]
);
})
.toEqual({ index: rangeIndex, length: rangeLength });
}
test('basic input', async ({ page, browserName }) => {
@@ -1113,16 +1116,14 @@ test('embed', async ({ page }) => {
await assertSelection(page, 0, 3, 1);
// try to update cursor position and select embed element by clicking embed element
let rect = await getInlineRangeIndexRect(page, [0, 1]);
await page.mouse.click(rect.x + 3, rect.y);
const embeds = page.locator('[data-v-embed="true"]');
await embeds.nth(0).click();
await assertSelection(page, 0, 1, 1);
rect = await getInlineRangeIndexRect(page, [0, 2]);
await page.mouse.click(rect.x + 3, rect.y);
await embeds.nth(1).click();
await assertSelection(page, 0, 2, 1);
rect = await getInlineRangeIndexRect(page, [0, 3]);
await page.mouse.click(rect.x + 3, rect.y);
await embeds.nth(2).click();
await assertSelection(page, 0, 3, 1);
});