From 7141d76e1ced2bf31cc2aeb55f0c5aaf47a33e55 Mon Sep 17 00:00:00 2001 From: Simon Klee Date: Sun, 26 Apr 2026 22:17:32 +0200 Subject: [PATCH] add test --- packages/opencode/test/cli/tui/app.test.ts | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 packages/opencode/test/cli/tui/app.test.ts diff --git a/packages/opencode/test/cli/tui/app.test.ts b/packages/opencode/test/cli/tui/app.test.ts new file mode 100644 index 0000000000..b2f308021f --- /dev/null +++ b/packages/opencode/test/cli/tui/app.test.ts @@ -0,0 +1,29 @@ +import { afterEach, expect, mock, spyOn, test } from "bun:test" +import * as Core from "@opentui/core" + +afterEach(() => { + mock.restore() +}) + +test("tui rejects when renderer startup fails", async () => { + const err = new Error("setRawMode failed with errno: 9") + spyOn(Core, "createCliRenderer").mockRejectedValue(err) + + const { tui } = await import("../../../src/cli/cmd/tui/app") + const result = await Promise.race([ + tui({ + url: "http://opencode.internal", + config: {}, + args: { + continue: false, + fork: false, + }, + }).then( + () => "resolved", + (error) => error, + ), + Bun.sleep(100).then(() => "timeout"), + ]) + + expect(result).toBe(err) +})