feat(*): 画布创作体验 - 完善 Agent 引导、生成防重、搜索快捷键、素材多选与分辨率兼容
This commit is contained in:
27
web/test/canvas-node-copy.test.ts
Normal file
27
web/test/canvas-node-copy.test.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { describe, expect, test } from "bun:test";
|
||||
|
||||
import { nextCopiedNodeTitle } from "@/lib/canvas/canvas-node-copy";
|
||||
|
||||
describe("canvas node copy title", () => {
|
||||
test("首次复制使用 copy1,后续按已有最大序号递增", () => {
|
||||
expect(nextCopiedNodeTitle("女明星角色三视图", ["女明星角色三视图"])).toBe("女明星角色三视图_copy1");
|
||||
expect(nextCopiedNodeTitle("女明星角色三视图", ["女明星角色三视图", "女明星角色三视图_copy1"])).toBe("女明星角色三视图_copy2");
|
||||
expect(nextCopiedNodeTitle("女明星角色三视图", ["女明星角色三视图_copy1", "女明星角色三视图_copy3"])).toBe("女明星角色三视图_copy4");
|
||||
});
|
||||
|
||||
test("复制已有副本时仍使用原始名称计算下一序号", () => {
|
||||
expect(nextCopiedNodeTitle("女明星角色三视图_copy1", ["女明星角色三视图", "女明星角色三视图_copy1"])).toBe("女明星角色三视图_copy2");
|
||||
});
|
||||
|
||||
test("兼容旧版空格 Copy 后缀", () => {
|
||||
expect(nextCopiedNodeTitle("女明星角色三视图 Copy", ["女明星角色三视图", "女明星角色三视图 Copy"])).toBe("女明星角色三视图_copy1");
|
||||
});
|
||||
|
||||
test("同一批粘贴可以通过预留标题连续分配序号", () => {
|
||||
const titles = new Set(["节点", "节点_copy1"]);
|
||||
const first = nextCopiedNodeTitle("节点", titles);
|
||||
titles.add(first);
|
||||
const second = nextCopiedNodeTitle("节点", titles);
|
||||
expect([first, second]).toEqual(["节点_copy2", "节点_copy3"]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user