test: harden logout path check on windows

This commit is contained in:
Peter Steinberger
2026-01-09 18:39:28 +01:00
parent 42ead1499f
commit d6d84ce349

View File

@@ -28,6 +28,18 @@ describe("web logout", () => {
vi.resetModules(); vi.resetModules();
const { logoutWeb, WA_WEB_AUTH_DIR } = await import("./session.js"); const { logoutWeb, WA_WEB_AUTH_DIR } = await import("./session.js");
if (process.platform === "win32") {
const normalizedHome = path.win32.normalize(home).toLowerCase();
const normalizedAuthDir = path.win32
.normalize(WA_WEB_AUTH_DIR)
.toLowerCase();
const rel = path.win32.relative(normalizedHome, normalizedAuthDir);
const isWithinHome =
rel.length > 0 &&
!rel.startsWith("..") &&
!path.win32.isAbsolute(rel);
expect(isWithinHome).toBe(true);
} else {
const rel = path.relative( const rel = path.relative(
path.resolve(home), path.resolve(home),
path.resolve(WA_WEB_AUTH_DIR), path.resolve(WA_WEB_AUTH_DIR),
@@ -35,6 +47,7 @@ describe("web logout", () => {
expect(rel && !rel.startsWith("..") && !path.isAbsolute(rel)).toBe( expect(rel && !rel.startsWith("..") && !path.isAbsolute(rel)).toBe(
true, true,
); );
}
fs.mkdirSync(WA_WEB_AUTH_DIR, { recursive: true }); fs.mkdirSync(WA_WEB_AUTH_DIR, { recursive: true });
fs.writeFileSync(path.join(WA_WEB_AUTH_DIR, "creds.json"), "{}"); fs.writeFileSync(path.join(WA_WEB_AUTH_DIR, "creds.json"), "{}");