feat: 变更名限制为中文、英文和短横线
This commit is contained in:
@@ -153,3 +153,24 @@ describe("完整 SDD 流程", () => {
|
||||
expect(taskDoc!.dependMet).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe("变更名校验", () => {
|
||||
it("合法变更名(中文、英文、短横线)通过校验", async () => {
|
||||
await runInit(TMP_DIR, ["opencode"]);
|
||||
const config = await loadConfig(TMP_DIR);
|
||||
await mkdir(getChangeDir(TMP_DIR, "用户-login"), { recursive: true });
|
||||
await writeFile(join(getChangeDir(TMP_DIR, "用户-login"), "design.md"), "# 设计");
|
||||
await writeFile(join(getChangeDir(TMP_DIR, "用户-login"), "task.md"), "- [ ] 任务");
|
||||
const prompt = await assemblePlanPrompt(config, TMP_DIR, "用户-login", "design");
|
||||
expect(prompt).toContain("用户-login");
|
||||
});
|
||||
|
||||
it("非法变更名(空格、下划线、特殊符号)被拒绝", () => {
|
||||
const validRegex = /^[\u4e00-\u9fa5a-zA-Z-]+$/;
|
||||
expect(validRegex.test("my change")).toBe(false);
|
||||
expect(validRegex.test("my_change")).toBe(false);
|
||||
expect(validRegex.test("my-change!")).toBe(false);
|
||||
expect(validRegex.test("my.change")).toBe(false);
|
||||
expect(validRegex.test("")).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user