import assert from "node:assert/strict"; import test from "node:test"; import { toBranchName, toPathSlug, validateSlug } from "../src/slug.ts"; test("accepts valid slugs", () => { for (const slug of ["feat/login", "fix-1", "simple", "a_b.c", "deep/nested/name"]) { assert.equal(validateSlug(slug), null, slug); } }); test("rejects invalid slugs", () => { for (const slug of ["..", "a..b", "-x", "x.lock", "a".repeat(65), "main", "HEAD", "", "a b", "a//b", "/a", "a/"]) { assert.notEqual(validateSlug(slug), null, slug); } }); test("maps slug to path slug and branch name", () => { assert.equal(toPathSlug("feat/login"), "feat-login"); assert.equal(toPathSlug("fix-1"), "fix-1"); assert.equal(toBranchName("wt/", "feat/login"), "wt/feat/login"); });