import { expect, it } from "vitest"; import { aiEnterAction } from "./aiComposerKeys"; const enter = { key: "Enter", shiftKey: false, isComposing: false, keyCode: 13, repeat: false }; it("输入法确认候选词的回车不会发送,即使 WebKit 已发出 compositionend", () => { expect(aiEnterAction(enter, true, false)).toBe("ignore"); expect(aiEnterAction({ ...enter, isComposing: true }, false, false)).toBe("ignore"); expect(aiEnterAction({ ...enter, keyCode: 229 }, false, false)).toBe("ignore"); expect(aiEnterAction(enter, false, true)).toBe("suppress"); }); it("普通回车发送,Shift 回车换行,长按回车不重复发送", () => { expect(aiEnterAction(enter, false, false)).toBe("send"); expect(aiEnterAction({ ...enter, shiftKey: true }, false, false)).toBe("newline"); expect(aiEnterAction({ ...enter, repeat: true }, false, false)).toBe("suppress"); });