Files
kandev/apps/web/lib/browser/document-title.test.ts

39 lines
1.1 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { applyTitlePrefix, composeTitle } from "./document-title";
function fakeDocument(title: string): Document {
return { title } as Document;
}
describe("composeTitle", () => {
it.each([
["TEST", "TEST Kandev"],
[" staging ", "staging Kandev"],
["", "Kandev"],
[" ", "Kandev"],
[undefined, "Kandev"],
])("composes %o as %s", (prefix, expected) => {
expect(composeTitle(prefix)).toBe(expected);
});
});
describe("applyTitlePrefix", () => {
it("prefixes the document title", () => {
const doc = fakeDocument("Kandev");
applyTitlePrefix("TEST", doc);
expect(doc.title).toBe("TEST Kandev");
});
it("trims surrounding whitespace from the prefix", () => {
const doc = fakeDocument("Kandev");
applyTitlePrefix(" TEST ", doc);
expect(doc.title).toBe("TEST Kandev");
});
it.each([undefined, "", " "])("leaves the title alone for %o", (prefix) => {
const doc = fakeDocument("Kandev");
applyTitlePrefix(prefix, doc);
expect(doc.title).toBe("Kandev");
});
});