Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import { beforeEach, describe, expect, it, vi } from "vitest";
const closeTrackedBrowserTabsForSessions = vi.hoisted(() => vi.fn(async () => 0));
vi.mock("./plugin-sdk/browser-maintenance.js", () => ({
closeTrackedBrowserTabsForSessions,
}));
describe("cleanupBrowserSessionsForLifecycleEnd", () => {
beforeEach(() => {
vi.clearAllMocks();
});
it("normalizes session keys before closing browser sessions", async () => {
const { cleanupBrowserSessionsForLifecycleEnd } =
await import("./browser-lifecycle-cleanup.js");
const onWarn = vi.fn();
await expect(
cleanupBrowserSessionsForLifecycleEnd({
sessionKeys: ["", " session-a ", "session-a", "session-b"],
onWarn,
}),
).resolves.toBeUndefined();
expect(closeTrackedBrowserTabsForSessions).toHaveBeenCalledWith({
sessionKeys: ["session-a", "session-b"],
onWarn,
});
});
it("swallows browser cleanup failures", async () => {
const { cleanupBrowserSessionsForLifecycleEnd } =
await import("./browser-lifecycle-cleanup.js");
const onError = vi.fn();
const error = new Error("cleanup failed");
closeTrackedBrowserTabsForSessions.mockRejectedValueOnce(error);
await expect(
cleanupBrowserSessionsForLifecycleEnd({
sessionKeys: ["session-a"],
onError,
}),
).resolves.toBeUndefined();
expect(onError).toHaveBeenCalledWith(error);
});
});
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland