import { expect, test } from "bun:test"; import { PWA_CLIENT, PWA_DEV_CLEANUP_CLIENT, usesMobileRuntime } from "../src/runtime.ts"; test("PWA registration is valid JavaScript and Trusted Types compatible", () => { expect(() => new Bun.Transpiler({ loader: "js" }).transformSync(PWA_CLIENT)).not.toThrow(); expect(PWA_CLIENT).toContain('createPolicy("wrnexus-pwa"'); expect(PWA_CLIENT).toContain("createScriptURL(swUrl)"); }); test("development PWA cleanup removes stale WRNexus service workers and caches", () => { expect(() => new Bun.Transpiler({ loader: "js" }).transformSync(PWA_DEV_CLEANUP_CLIENT), ).not.toThrow(); expect(PWA_DEV_CLEANUP_CLIENT).toContain("registration.unregister()"); expect(PWA_DEV_CLEANUP_CLIENT).toContain("wrnexus-pwa-"); }); test("mobile runtime is shipped only for pages using mobile or native directives", () => { expect(usesMobileRuntime('
Docs
')).toBe(false); expect(usesMobileRuntime('')).toBe(true); expect(usesMobileRuntime("
App
")).toBe(true); expect(usesMobileRuntime('')).toBe( true, ); });