1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-19 14:48:08 +02:00

Merge pull request #19534 from calixteman/signature_description_test

[Editor] Add a test for copy & paste a signature editor
This commit is contained in:
calixteman 2025-02-21 23:01:31 +01:00 committed by GitHub
commit c2e616dfc9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 58 additions and 2 deletions

View file

@ -552,7 +552,7 @@ class InkDrawOutline extends Outline {
});
}
const outlines = new InkDrawOutline();
const outlines = new this.prototype.constructor();
outlines.build(
newLines,
pageWidth,

View file

@ -391,7 +391,7 @@ class SignatureEditor extends DrawingEditor {
static async deserialize(data, parent, uiManager) {
const editor = await super.deserialize(data, parent, uiManager);
editor.#isExtracted = data.areContours;
editor.description = data.accessibilityData?.alt || "";
editor.#description = data.accessibilityData?.alt || "";
editor.#signatureUUID = data.uuid;
return editor;
}

View file

@ -16,9 +16,11 @@
import {
awaitPromise,
closePages,
copy,
getEditorSelector,
getRect,
loadAndWait,
paste,
switchToEditor,
waitForPointerUp,
waitForTimeout,
@ -330,6 +332,60 @@ describe("Signature Editor", () => {
})
);
});
it("must check copy and paste", async () => {
await Promise.all(
pages.map(async ([browserName, page]) => {
await switchToSignature(page);
await page.click("#editorSignatureAddSignature");
await page.waitForSelector("#addSignatureDialog", {
visible: true,
});
await page.type("#addSignatureTypeInput", "Hello");
await page.waitForSelector(`${addButtonSelector}:not(:disabled)`);
await page.click("#addSignatureAddButton");
const editorSelector = getEditorSelector(0);
await page.waitForSelector(editorSelector, { visible: true });
await page.waitForSelector(
`.canvasWrapper > svg use[href="#path_p1_0"]`,
{ visible: true }
);
const originalPath = await page.$eval("#path_p1_0", el =>
el.getAttribute("d")
);
const originalDescription = await page.$eval(
`${editorSelector} .altText.editDescription`,
el => el.title
);
await copy(page);
await paste(page);
const pastedEditorSelector = getEditorSelector(1);
await page.waitForSelector(pastedEditorSelector, { visible: true });
await page.waitForSelector(
`.canvasWrapper > svg use[href="#path_p1_1"]`,
{ visible: true }
);
const pastedPath = await page.$eval("#path_p1_1", el =>
el.getAttribute("d")
);
const pastedDescription = await page.$eval(
`${pastedEditorSelector} .altText.editDescription`,
el => el.title
);
expect(pastedPath)
.withContext(`In ${browserName}`)
.toEqual(originalPath);
expect(pastedDescription)
.withContext(`In ${browserName}`)
.toEqual(originalDescription);
})
);
});
});
describe("Bug 1948741", () => {