import { TEST_DIR } from "../helpers.ts"; import { assertEquals, assertRejects } from "@std/assert"; import { loadIndexHtml } from "../../lib/index-html.ts"; Deno.test("loadIndexHtml: fills the placeholders, and rereads a rebuilt file", async () => { const root = `${TEST_DIR}/index-html-${crypto.randomUUID()}`; await Deno.mkdir(root, { recursive: true }); const path = `${root}/index.html`; await Deno.writeTextFile( path, "__SITE_NAME____BANDCAMP_PLAYER__ __DEFAULT_STYLE__ __EMAIL_ENABLED__ __FEDERATION_INCOMING__ __FEDERATION_OUTGOING__", ); assertEquals( await loadIndexHtml(root), "gerbeurembed smooth off on on", ); await Deno.writeTextFile(path, "rebuilt __SITE_NAME__"); await Deno.utime(path, new Date(), new Date(Date.now() + 60_000)); assertEquals(await loadIndexHtml(root), "rebuilt gerbeur"); await assertRejects(() => loadIndexHtml(`${root}/missing`)); });