Merge pull request #19706 from timvandermeij/integration-tests-freetext-isolate-part-1

Isolate the "move editor with arrows" freetext editor integration tests
This commit is contained in:
Tim van der Meij 2025-03-23 12:01:30 +01:00 committed by GitHub
commit 80d4d7058f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1705,11 +1705,11 @@ describe("FreeText Editor", () => {
describe("Move editor with arrows", () => { describe("Move editor with arrows", () => {
let pages; let pages;
beforeAll(async () => { beforeEach(async () => {
pages = await loadAndWait("empty.pdf", ".annotationEditorLayer"); pages = await loadAndWait("empty.pdf", ".annotationEditorLayer");
}); });
afterAll(async () => { afterEach(async () => {
await closePages(pages); await closePages(pages);
}); });
@ -1779,6 +1779,16 @@ describe("FreeText Editor", () => {
it("must check arrow doesn't move an editor when a slider is focused", async () => { it("must check arrow doesn't move an editor when a slider is focused", async () => {
await Promise.all( await Promise.all(
pages.map(async ([browserName, page]) => { pages.map(async ([browserName, page]) => {
await switchToFreeText(page);
const rect = await getRect(page, ".annotationEditorLayer");
const data = "Hello PDF.js World !!";
const editorSelector = getEditorSelector(0);
await page.mouse.click(rect.x + 200, rect.y + 200);
await page.waitForSelector(editorSelector, { visible: true });
await page.type(`${editorSelector} .internal`, data);
await commit(page);
await selectAll(page); await selectAll(page);
await page.focus("#editorFreeTextFontSize"); await page.focus("#editorFreeTextFontSize");
@ -1788,7 +1798,6 @@ describe("FreeText Editor", () => {
); );
const pageWidth = page2X - page1X; const pageWidth = page2X - page1X;
const editorSelector = getEditorSelector(0);
await moveEditor(page, editorSelector, 5, () => await moveEditor(page, editorSelector, 5, () =>
page.keyboard.press("ArrowRight") page.keyboard.press("ArrowRight")
); );
@ -1808,12 +1817,11 @@ describe("FreeText Editor", () => {
it("must check the position of an empty freetext", async () => { it("must check the position of an empty freetext", async () => {
await Promise.all( await Promise.all(
pages.map(async ([browserName, page]) => { pages.map(async ([browserName, page]) => {
await clearAll(page); await switchToFreeText(page);
const rect = await getRect(page, ".annotationEditorLayer"); const rect = await getRect(page, ".annotationEditorLayer");
const data = "Hello PDF.js World !!"; const data = "Hello PDF.js World !!";
let editorSelector = getEditorSelector(1); let editorSelector = getEditorSelector(0);
await page.mouse.click(rect.x + 100, rect.y + 100); await page.mouse.click(rect.x + 100, rect.y + 100);
await page.waitForSelector(editorSelector, { visible: true }); await page.waitForSelector(editorSelector, { visible: true });
await page.type(`${editorSelector} .internal`, data); await page.type(`${editorSelector} .internal`, data);
@ -1822,7 +1830,7 @@ describe("FreeText Editor", () => {
const [pageX, pageY] = await getFirstSerialized(page, x => x.rect); const [pageX, pageY] = await getFirstSerialized(page, x => x.rect);
await clearAll(page); await clearAll(page);
editorSelector = getEditorSelector(2); editorSelector = getEditorSelector(1);
await page.mouse.click(rect.x + 100, rect.y + 100); await page.mouse.click(rect.x + 100, rect.y + 100);
await page.waitForSelector(editorSelector, { visible: true }); await page.waitForSelector(editorSelector, { visible: true });