import { expect, test } from "@playwright/test"; import { CANVAS_PROJECT_TITLE_MAX_LENGTH, normalizeCanvasProjectTitle, } from "@/lib/canvas/project-title"; test.describe("canvas project title", () => { test("trims surrounding whitespace and preserves a valid title", () => { expect(normalizeCanvasProjectTitle(" 空格标题 ")).toBe("空格标题"); expect(normalizeCanvasProjectTitle("视频画布竞品对照")).toBe( "视频画布竞品对照", ); }); test("falls back to the current title for an empty draft", () => { expect(normalizeCanvasProjectTitle(" ", "当前项目")).toBe("当前项目"); expect(normalizeCanvasProjectTitle(null, "")).toBe("未命名"); }); test("caps submitted titles and fallback titles at 120 characters", () => { expect( normalizeCanvasProjectTitle("T".repeat(130)), ).toHaveLength(CANVAS_PROJECT_TITLE_MAX_LENGTH); expect( normalizeCanvasProjectTitle("", "F".repeat(130)), ).toHaveLength(CANVAS_PROJECT_TITLE_MAX_LENGTH); }); });