/* Unit tests for twin path covering its documented public contract and regression-sensitive edge cases. Do not inspect generated app files. RFC-0306: Added Markdown twin path helper coverage. */ import { test, expect } from "vitest"; import { markdownTwinRelPath, markdownTwinUrlPath } from "../ids.ts"; const supportedLangs = ["de", "en"] as const; test("markdownTwinRelPath keeps root and language roots at index.md", () => { expect(markdownTwinRelPath("/", { supportedLangs })).toBe("index.md"); expect(markdownTwinRelPath("/en", { supportedLangs })).toBe("en/index.md"); expect(markdownTwinRelPath("/en/", { supportedLangs })).toBe("en/index.md"); }); test("markdownTwinRelPath maps non-home pages to sibling md files", () => { expect(markdownTwinRelPath("/team/andrii-syrokomskyi", { supportedLangs })).toBe( "team/andrii-syrokomskyi.md", ); expect(markdownTwinRelPath("/en/team/andrii", { supportedLangs })).toBe("en/team/andrii.md"); expect(markdownTwinRelPath("/it", { supportedLangs })).toBe("it.md"); }); test("markdownTwinUrlPath returns the public URL form", () => { expect(markdownTwinUrlPath("/team/andrii-syrokomskyi", { supportedLangs })).toBe( "/team/andrii-syrokomskyi.md", ); });