1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-24 09:08:07 +02:00

Implement a helper function for unselecting an editor in the integration tests

This has multiple advantages:

- it improves consistency between the various editor integration tests;
- it makes the code easier to read/understand;
- it reduces code duplication.
This commit is contained in:
Tim van der Meij 2025-01-18 20:00:23 +01:00
parent c051dd78cf
commit 895edafc23
No known key found for this signature in database
GPG key ID: 8C3FD2925A5F2762
4 changed files with 19 additions and 22 deletions

View file

@ -45,6 +45,7 @@ import {
scrollIntoView,
selectEditor,
switchToEditor,
unselectEditor,
waitForAnnotationEditorLayer,
waitForAnnotationModeChanged,
waitForEditorMovedInDOM,
@ -2225,8 +2226,7 @@ describe("FreeText Editor", () => {
await commit(page);
// Unselect.
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, editorSelector);
await unselectEditor(page, editorSelector);
// Select the editor created previously.
await selectEditor(page, editorSelector);
@ -2300,8 +2300,7 @@ describe("FreeText Editor", () => {
await commit(page);
// Unselect.
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, editorSelector);
await unselectEditor(page, editorSelector);
// Select the editor created previously.
await selectEditor(page, editorSelector);
@ -2481,8 +2480,7 @@ describe("FreeText Editor", () => {
await commit(page);
// Unselect.
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, editorSelector);
await unselectEditor(page, editorSelector);
content = await page.$eval(getEditorSelector(1), el =>
el.innerText.trimEnd()
@ -2509,8 +2507,7 @@ describe("FreeText Editor", () => {
await commit(page);
// Unselect.
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, editorSelector);
await unselectEditor(page, editorSelector);
let content = await page.$eval(getEditorSelector(2), el =>
el.innerText.trimEnd()
@ -2532,8 +2529,7 @@ describe("FreeText Editor", () => {
await commit(page);
// Unselect.
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, editorSelector);
await unselectEditor(page, editorSelector);
content = await page.$eval(editorSelector, el =>
el.innerText.trimEnd()

View file

@ -33,12 +33,12 @@ import {
scrollIntoView,
setCaretAt,
switchToEditor,
unselectEditor,
waitAndClick,
waitForAnnotationModeChanged,
waitForSelectedEditor,
waitForSerialized,
waitForTimeout,
waitForUnselectedEditor,
} from "./test_utils.mjs";
import { fileURLToPath } from "url";
import fs from "fs";
@ -1044,8 +1044,7 @@ describe("Highlight Editor", () => {
const y = rect.y + rect.height / 2;
await page.mouse.click(x, y, { count: 2, delay: 100 });
await page.waitForSelector(`${getEditorSelector(0)}`);
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, getEditorSelector(0));
await unselectEditor(page, getEditorSelector(0));
await setCaretAt(
page,
@ -1795,8 +1794,7 @@ describe("Highlight Editor", () => {
await page.mouse.click(x, y, { count: 2, delay: 100 });
await page.waitForSelector(editorSelector);
await waitForSerialized(page, 1);
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, editorSelector);
await unselectEditor(page, editorSelector);
const clickHandle = await waitForPointerUp(page);
y = rect.y - rect.height;
@ -1866,8 +1864,7 @@ describe("Highlight Editor", () => {
await page.mouse.click(x, y, { count: 3, delay: 100 });
await page.waitForSelector(editorSelector);
await waitForSerialized(page, 1);
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, editorSelector);
await unselectEditor(page, editorSelector);
const clickHandle = await waitForPointerUp(page);
y = rect.y - 3 * rect.height;

View file

@ -41,6 +41,7 @@ import {
selectEditor,
serializeBitmapDimensions,
switchToEditor,
unselectEditor,
waitForAnnotationEditorLayer,
waitForAnnotationModeChanged,
waitForEntryInStorage,
@ -48,7 +49,6 @@ import {
waitForSerialized,
waitForStorageEntries,
waitForTimeout,
waitForUnselectedEditor,
} from "./test_utils.mjs";
import { fileURLToPath } from "url";
import fs from "fs";
@ -1056,8 +1056,7 @@ describe("Stamp Editor", () => {
.toEqual("Review alt text");
// Unselect and select the editor and check that the badge is visible.
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, editorSelector);
await unselectEditor(page, editorSelector);
await page.waitForSelector(".editToolbar", { visible: false });
await page.waitForSelector(".noAltTextBadge", { visible: true });
@ -1106,8 +1105,7 @@ describe("Stamp Editor", () => {
.toEqual("Missing alt text");
// Unselect and select the editor and check that the badge is visible.
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, editorSelector);
await unselectEditor(page, editorSelector);
await page.waitForSelector(".editToolbar", { visible: false });
await page.waitForSelector(".noAltTextBadge", { visible: true });
await page.evaluate(() => {

View file

@ -361,6 +361,11 @@ async function waitForSelectedEditor(page, selector) {
return page.waitForSelector(`${selector}.selectedEditor`);
}
async function unselectEditor(page, selector) {
await page.keyboard.press("Escape");
await waitForUnselectedEditor(page, selector);
}
async function waitForUnselectedEditor(page, selector) {
return page.waitForSelector(`${selector}:not(.selectedEditor)`);
}
@ -882,6 +887,7 @@ export {
serializeBitmapDimensions,
setCaretAt,
switchToEditor,
unselectEditor,
waitAndClick,
waitForAnnotationEditorLayer,
waitForAnnotationModeChanged,