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:
parent
c18a987f4e
commit
f4053c2b3e
2 changed files with 18 additions and 11 deletions
|
@ -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,
|
||||
|
|
|
@ -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();
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue