import { describe, expect, test } from "bun:test" import { terminalWriter } from "./terminal-writer" describe("terminalWriter", () => { test("buffers and flushes once per schedule", () => { const calls: string[] = [] const scheduled: VoidFunction[] = [] const writer = terminalWriter( (data) => calls.push(data), (flush) => scheduled.push(flush), ) writer.push("a") writer.push("b") writer.push("c") expect(calls).toEqual([]) expect(scheduled).toHaveLength(1) scheduled[0]?.() expect(calls).toEqual(["abc"]) }) test("flush is a no-op when empty", () => { const calls: string[] = [] const writer = terminalWriter( (data) => calls.push(data), (flush) => flush(), ) writer.flush() expect(calls).toEqual([]) }) })