1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 15:18:08 +02:00

Close the page in the text layer caret selection integration test

This integration test is currently the only one that spawns a separate
browser instance. However, while it closes the browser once it's done,
it doesn't close the page (and therefore doesn't call the `testingClose`
method) like the other integration tests do.

This commit fixes this difference by closing the page before closing the
browser, thereby ensuring all regular cleanup logic gets called and we
avoid (intermittent) shutdown tracebacks in the logs. This allows
upcoming integration tests that spawn a separate browser instance to
reuse this pattern to cleanly end the test.

Given that we integrate the `closeSinglePage` code from #17962 for this
patch, @calixteman is credited as the co-author.

Co-authored-by: Calixte Denizet <calixte.denizet@gmail.com>
This commit is contained in:
Tim van der Meij 2024-06-23 12:37:43 +02:00
parent c18a987f4e
commit f4053c2b3e
No known key found for this signature in database
GPG key ID: 8C3FD2925A5F2762
2 changed files with 18 additions and 11 deletions

View file

@ -81,16 +81,16 @@ function awaitPromise(promise) {
}
function closePages(pages) {
return Promise.all(
pages.map(async ([_, page]) => {
// Avoid to keep something from a previous test.
await page.evaluate(async () => {
await window.PDFViewerApplication.testingClose();
window.localStorage.clear();
});
await page.close({ runBeforeUnload: false });
})
);
return Promise.all(pages.map(([_, page]) => closeSinglePage(page)));
}
async function closeSinglePage(page) {
// Avoid to keep something from a previous test.
await page.evaluate(async () => {
await window.PDFViewerApplication.testingClose();
window.localStorage.clear();
});
await page.close({ runBeforeUnload: false });
}
async function waitForSandboxTrip(page) {
@ -634,6 +634,7 @@ export {
awaitPromise,
clearInput,
closePages,
closeSinglePage,
createPromise,
dragAndDropAnnotation,
firstPageOnTop,

View file

@ -13,7 +13,12 @@
* limitations under the License.
*/
import { closePages, getSpanRectFromText, loadAndWait } from "./test_utils.mjs";
import {
closePages,
closeSinglePage,
getSpanRectFromText,
loadAndWait,
} from "./test_utils.mjs";
import { startBrowser } from "../test.mjs";
describe("Text layer", () => {
@ -227,6 +232,7 @@ describe("Text layer", () => {
);
});
afterAll(async () => {
await closeSinglePage(page);
await browser.close();
});