import { describe, it, expect } from "bun:test"; import { validateChangeName } from "../../src/cli.ts"; import { CommandError } from "../../src/cli/errors.ts"; describe("validateChangeName", () => { it("英文名通过", () => { expect(() => validateChangeName("user-auth")).not.toThrow(); expect(() => validateChangeName("addLogin")).not.toThrow(); }); it("中文名通过", () => { expect(() => validateChangeName("用户登录")).not.toThrow(); expect(() => validateChangeName("修复内存泄漏")).not.toThrow(); }); it("中英混合通过", () => { expect(() => validateChangeName("用户-login")).not.toThrow(); }); it("空格不通过", () => { expect(() => validateChangeName("my change")).toThrow(CommandError); }); it("下划线不通过", () => { expect(() => validateChangeName("my_change")).toThrow(CommandError); }); it("特殊符号不通过", () => { expect(() => validateChangeName("my-change!")).toThrow(CommandError); expect(() => validateChangeName("my.change")).toThrow(CommandError); expect(() => validateChangeName("my@change")).toThrow(CommandError); }); it("空字符串不通过", () => { expect(() => validateChangeName("")).toThrow(CommandError); }); });