From 0f8dda1af041e7d90ce134bded1db8016b658204 Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Thu, 7 Mar 2024 18:24:34 +0100 Subject: [PATCH] [Editor] Make sure the alt-text button is there when pasting an image from an other tab --- src/display/editor/stamp.js | 3 ++- test/integration/stamp_editor_spec.mjs | 35 ++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src/display/editor/stamp.js b/src/display/editor/stamp.js index 464bc58cb..785fe6c48 100644 --- a/src/display/editor/stamp.js +++ b/src/display/editor/stamp.js @@ -265,6 +265,8 @@ class StampEditor extends AnnotationEditor { super.render(); this.div.hidden = true; + this.addAltTextButton(); + if (this.#bitmap) { this.#createCanvas(); } else { @@ -329,7 +331,6 @@ class StampEditor extends AnnotationEditor { this._reportTelemetry({ action: "inserted_image", }); - this.addAltTextButton(); if (this.#bitmapFileName) { canvas.setAttribute("aria-label", this.#bitmapFileName); } diff --git a/test/integration/stamp_editor_spec.mjs b/test/integration/stamp_editor_spec.mjs index 746d4a856..116bc558f 100644 --- a/test/integration/stamp_editor_spec.mjs +++ b/test/integration/stamp_editor_spec.mjs @@ -21,6 +21,7 @@ import { getFirstSerialized, kbBigMoveDown, kbBigMoveRight, + kbCopy, kbPaste, kbSelectAll, loadAndWait, @@ -570,4 +571,38 @@ describe("Stamp Editor", () => { ); }); }); + + describe("Copy/paste from a tab to an other", () => { + let pages1, pages2; + + beforeAll(async () => { + pages1 = await loadAndWait("empty.pdf", ".annotationEditorLayer"); + pages2 = await loadAndWait("empty.pdf", ".annotationEditorLayer"); + }); + + afterAll(async () => { + await closePages(pages1); + await closePages(pages2); + }); + + it("must check that the alt-text button is here when pasting in the second tab", async () => { + for (let i = 0; i < pages1.length; i++) { + const [, page1] = pages1[i]; + page1.bringToFront(); + await page1.click("#editorStamp"); + + await copyImage(page1, "../images/firefox_logo.png", 0); + await kbCopy(page1); + + const [, page2] = pages2[i]; + page2.bringToFront(); + await page2.click("#editorStamp"); + + await kbPaste(page2); + + await waitForImage(page2, getEditorSelector(0)); + await page2.waitForSelector(`${getEditorSelector(0)} .altText`); + } + }); + }); });