From ae5563dd18ddd84023ab349be99a98106c50743f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 13 Mar 2026 21:46:20 +0000 Subject: [PATCH] test: tighten shared join and message content coverage --- src/shared/chat-message-content.test.ts | 13 +++++++++++++ src/shared/text/join-segments.test.ts | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/src/shared/chat-message-content.test.ts b/src/shared/chat-message-content.test.ts index 50e41f82642..7c35516f903 100644 --- a/src/shared/chat-message-content.test.ts +++ b/src/shared/chat-message-content.test.ts @@ -18,6 +18,19 @@ describe("shared/chat-message-content", () => { ).toBe(""); }); + it("only considers the first content block even if later blocks have text", () => { + expect( + extractFirstTextBlock({ + content: [null, { text: "later" }], + }), + ).toBeUndefined(); + expect( + extractFirstTextBlock({ + content: [{ type: "image" }, { text: "later" }], + }), + ).toBeUndefined(); + }); + it("returns undefined for missing, empty, or non-text content", () => { expect(extractFirstTextBlock(null)).toBeUndefined(); expect(extractFirstTextBlock({ content: [] })).toBeUndefined(); diff --git a/src/shared/text/join-segments.test.ts b/src/shared/text/join-segments.test.ts index 8da5c4644a7..67fdacb14dd 100644 --- a/src/shared/text/join-segments.test.ts +++ b/src/shared/text/join-segments.test.ts @@ -13,6 +13,8 @@ describe("concatOptionalTextSegments", () => { it("falls back to whichever side is present and honors custom separators", () => { expect(concatOptionalTextSegments({ left: "A" })).toBe("A"); expect(concatOptionalTextSegments({ right: "B" })).toBe("B"); + expect(concatOptionalTextSegments({ left: "", right: "B" })).toBe("B"); + expect(concatOptionalTextSegments({ left: "" })).toBe(""); expect(concatOptionalTextSegments({ left: "A", right: "B", separator: " | " })).toBe("A | B"); }); }); @@ -36,4 +38,8 @@ describe("joinPresentTextSegments", () => { "A | B", ); }); + + it("preserves segment whitespace when trim is disabled", () => { + expect(joinPresentTextSegments(["A", " B "], { separator: "|" })).toBe("A| B "); + }); });