1import { describe, expect, it, vi } from "vitest";23import { restrictLocalStorageToTrustedContexts } from "./storage-access";45describe("local storage access hardening", () => {6 it("restricts local storage to trusted extension contexts when supported", async () => {7 const setAccessLevel = vi.fn(async () => undefined);8 vi.stubGlobal("chrome", { storage: { local: { setAccessLevel } } });910 await restrictLocalStorageToTrustedContexts();1112 expect(setAccessLevel).toHaveBeenCalledWith({ accessLevel: "TRUSTED_CONTEXTS" });13 });1415 it("does not fail startup when Firefox lacks setAccessLevel", async () => {16 vi.stubGlobal("chrome", { storage: { local: {} } });1718 await expect(restrictLocalStorageToTrustedContexts()).resolves.toBeUndefined();19 });2021 it("does not fail startup when the browser rejects the optional hardening call", async () => {22 const setAccessLevel = vi.fn(async () => { throw new Error("unsupported"); });23 vi.stubGlobal("chrome", { storage: { local: { setAccessLevel } } });2425 await expect(restrictLocalStorageToTrustedContexts()).resolves.toBeUndefined();26 });27});