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`));
});