1 parent
cbf0ba30e7
commit
d72a7e03d8
1 file changed
+24
-2
@@ -4,6 +4,9 @@
|
||||
*/
|
||||
import assert from "node:assert/strict";
|
||||
import { createHash } from "node:crypto";
|
||||
import { mkdtemp, rm } from "node:fs/promises";
|
||||
import { tmpdir } from "node:os";
|
||||
import { join } from "node:path";
|
||||
import { test } from "node:test";
|
||||
import { firefox } from "playwright";
|
||||
import {
|
||||
@@ -548,8 +551,22 @@ test(
|
||||
await routeHomeAccount(page.context());
|
||||
await login(page, "/");
|
||||
const chromium = await userIdChipGeometry(page);
|
||||
const browser = await firefox.launch();
|
||||
const firefoxAppData = await mkdtemp(
|
||||
join(tmpdir(), "console-playwright-firefox-app-"),
|
||||
),
|
||||
firefoxLocalAppData = await mkdtemp(
|
||||
join(tmpdir(), "console-playwright-firefox-local-"),
|
||||
);
|
||||
let browser;
|
||||
try {
|
||||
// Firefox must not inspect a developer's personal app-data directory before using its test profile.
|
||||
browser = await firefox.launch({
|
||||
env: {
|
||||
...process.env,
|
||||
MOZ_APP_DATA: firefoxAppData,
|
||||
MOZ_LOCAL_APP_DATA: firefoxLocalAppData,
|
||||
},
|
||||
});
|
||||
const context = await browser.newContext({
|
||||
viewport: { width: 1440, height: 900 },
|
||||
serviceWorkers: "block",
|
||||
@@ -575,7 +592,12 @@ test(
|
||||
assert.deepEqual(blocked, [], "Firefox must stay on local origins");
|
||||
return { chromium, firefox: gecko };
|
||||
} finally {
|
||||
await browser.close();
|
||||
await browser?.close();
|
||||
await Promise.all(
|
||||
[firefoxAppData, firefoxLocalAppData].map((directory) =>
|
||||
rm(directory, { recursive: true, force: true }),
|
||||
),
|
||||
);
|
||||
}
|
||||
}),
|
||||
);
|
||||
Reference in new issue
Block a user