Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import { describe, expect, it } from "vitest";
import { mergeStreamingText, resolveStreamingCardSendMode } from "./streaming-card.js";
describe("mergeStreamingText", () => {
it("prefers the latest full text when it already includes prior text", () => {
expect(mergeStreamingText("hello", "hello world")).toBe("hello world");
});
it("keeps previous text when the next partial is empty or redundant", () => {
expect(mergeStreamingText("hello", "")).toBe("hello");
expect(mergeStreamingText("hello world", "hello")).toBe("hello world");
});
it("appends fragmented chunks without injecting newlines", () => {
expect(mergeStreamingText("hello wor", "ld")).toBe("hello world");
expect(mergeStreamingText("line1", "line2")).toBe("line1line2");
});
it("merges overlap between adjacent partial snapshots", () => {
expect(mergeStreamingText("好的,让我", "让我再读取一遍")).toBe("好的,让我再读取一遍");
expect(mergeStreamingText("revision_id: 552", "2,一点变化都没有")).toBe(
"revision_id: 552,一点变化都没有",
);
expect(mergeStreamingText("abc", "cabc")).toBe("cabc");
});
});
describe("resolveStreamingCardSendMode", () => {
it("prefers message.reply when reply target and root id both exist", () => {
expect(
resolveStreamingCardSendMode({
replyToMessageId: "om_parent",
rootId: "om_topic_root",
}),
).toBe("reply");
});
it("falls back to root create when reply target is absent", () => {
expect(
resolveStreamingCardSendMode({
rootId: "om_topic_root",
}),
).toBe("root_create");
});
it("uses create mode when no reply routing fields are provided", () => {
expect(resolveStreamingCardSendMode()).toBe("create");
expect(
resolveStreamingCardSendMode({
replyInThread: true,
}),
).toBe("create");
});
});
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland