25 lines
941 B
TypeScript
25 lines
941 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import {
|
|
findSpeechSelectionStartOffset,
|
|
splitSpeechTextIntoChunks,
|
|
stripSpeechMarkdown
|
|
} from "./speech";
|
|
|
|
describe("Agent 语音文本处理", () => {
|
|
it("定位经过空白压缩的选择文本", () => {
|
|
const text = "第一段内容。\n第二段 包含空格。";
|
|
expect(findSpeechSelectionStartOffset(text, "第二段 包含空格")).toBe(text.indexOf("第二段"));
|
|
expect(findSpeechSelectionStartOffset(text, "不存在")).toBeNull();
|
|
});
|
|
|
|
it("按句子拆分长文本", () => {
|
|
const chunks = splitSpeechTextIntoChunks(`${"甲".repeat(260)}。${"乙".repeat(260)}。`);
|
|
expect(chunks).toHaveLength(2);
|
|
expect(chunks.join("")).toContain("乙");
|
|
});
|
|
|
|
it("移除会干扰朗读的 Markdown 标记", () => {
|
|
expect(stripSpeechMarkdown("## 分析结果\n**水位** [详情](https://example.com)")).toBe("分析结果\n水位 详情");
|
|
});
|
|
});
|