Fix 'must load a SVG, delete it and undo' integration test
We wait for the canvas before trying to serialize the annotation in order to make sure the image has been loaded.
This commit is contained in:
parent
f4061190fa
commit
eefaca07c3
@ -195,14 +195,14 @@ describe("Stamp Editor", () => {
|
|||||||
);
|
);
|
||||||
const editorSelector = getEditorSelector(0);
|
const editorSelector = getEditorSelector(0);
|
||||||
await waitForImage(page, editorSelector);
|
await waitForImage(page, editorSelector);
|
||||||
|
|
||||||
await waitForSerialized(page, 1);
|
await waitForSerialized(page, 1);
|
||||||
|
|
||||||
await page.waitForSelector(`${editorSelector} button.delete`);
|
await page.waitForSelector(`${editorSelector} button.delete`);
|
||||||
await page.click(`${editorSelector} button.delete`);
|
await page.click(`${editorSelector} button.delete`);
|
||||||
|
|
||||||
await waitForSerialized(page, 0);
|
await waitForSerialized(page, 0);
|
||||||
|
|
||||||
await kbUndo(page);
|
await kbUndo(page);
|
||||||
|
await waitForImage(page, editorSelector);
|
||||||
await waitForSerialized(page, 1);
|
await waitForSerialized(page, 1);
|
||||||
|
|
||||||
await waitForSelectedEditor(page, editorSelector);
|
await waitForSelectedEditor(page, editorSelector);
|
||||||
@ -654,8 +654,8 @@ describe("Stamp Editor", () => {
|
|||||||
await waitForSerialized(page, 0);
|
await waitForSerialized(page, 0);
|
||||||
|
|
||||||
await kbUndo(page);
|
await kbUndo(page);
|
||||||
|
await waitForImage(page, selector);
|
||||||
await waitForSerialized(page, 1);
|
await waitForSerialized(page, 1);
|
||||||
await page.waitForSelector(`${selector} canvas`);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -739,8 +739,8 @@ describe("Stamp Editor", () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await kbUndo(page);
|
await kbUndo(page);
|
||||||
|
await waitForImage(page, selector);
|
||||||
await waitForSerialized(page, 1);
|
await waitForSerialized(page, 1);
|
||||||
await page.waitForSelector(`${selector} canvas`);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -327,9 +327,18 @@ async function waitForStorageEntries(page, nEntries) {
|
|||||||
|
|
||||||
async function waitForSerialized(page, nEntries) {
|
async function waitForSerialized(page, nEntries) {
|
||||||
return page.waitForFunction(
|
return page.waitForFunction(
|
||||||
n =>
|
n => {
|
||||||
(window.PDFViewerApplication.pdfDocument.annotationStorage.serializable
|
try {
|
||||||
.map?.size ?? 0) === n,
|
return (
|
||||||
|
(window.PDFViewerApplication.pdfDocument.annotationStorage
|
||||||
|
.serializable.map?.size ?? 0) === n
|
||||||
|
);
|
||||||
|
} catch {
|
||||||
|
// When serializing a stamp annotation with a SVG, the transfer
|
||||||
|
// can fail because of the SVG, so we just retry.
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
{},
|
{},
|
||||||
nEntries
|
nEntries
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user