import { describe, expect, test } from "bun:test" import { readPartText } from "./message-part-text" describe("readPartText", () => { test("returns empty string when accum is undefined and part text is undefined", () => { expect(readPartText(undefined, { id: "part_1" })).toBe("") }) test("returns trimmed part text when accum is undefined", () => { expect(readPartText(undefined, { id: "part_1", text: " hello " })).toBe("hello") }) test("prefers accum value over part text when accum has a hit", () => { expect(readPartText({ part_1: " from accum " }, { id: "part_1", text: "from part" })).toBe("from accum") }) test("falls back to part text when accum misses", () => { expect(readPartText({ other_part: "ignored" }, { id: "part_1", text: " from part " })).toBe("from part") }) test("returns empty string for whitespace-only text", () => { expect(readPartText(undefined, { id: "part_1", text: " \n\t " })).toBe("") }) test("trims leading and trailing whitespace", () => { expect(readPartText(undefined, { id: "part_1", text: "\n body \n" })).toBe("body") }) })