/** * app.test.tsx — Tests for the Ink app shell component. * * Verifies: * - App renders a welcome message * - App displays status text * - App can mount and unmount cleanly * - renderToString produces expected output */ import { describe, test, expect } from "bun:test"; import React from "react"; import { renderToString } from "ink"; import { App } from "./app"; describe("App shell", () => { test("renders welcome text", () => { const output = renderToString(); expect(output).toContain("wombo-combo"); }); test("renders status indicator", () => { const output = renderToString(); expect(output).toContain("ready"); }); test("accepts a title prop", () => { const output = renderToString(); expect(output).toContain("Test Shell"); }); test("renders without crashing (mount/unmount cycle)", () => { // renderToString does a full mount + render + unmount synchronously expect(() => renderToString()).not.toThrow(); }); });