opencode/packages/tui/test/app-renderer-init.test.tsx
2026-06-26 14:44:01 +05:30

35 lines
996 B
TypeScript

import { expect, mock, test } from "bun:test"
import { Effect } from "effect"
import { Global } from "@opencode-ai/core/global"
import { createTuiResolvedConfig } from "./fixture/tui-runtime"
test("run preserves the original renderer initialization error message", async () => {
const message = 'Failed to open library "opentui.dll": error code 126'
const core = await import("@opentui/core")
mock.module("@opentui/core", () => ({
...core,
createCliRenderer: async () => {
throw new Error(message)
},
}))
try {
const { run } = await import("../src/app")
await expect(
Effect.runPromise(
run({
url: "http://test",
config: createTuiResolvedConfig({ plugin_enabled: {} }),
args: {},
pluginHost: {
async start() {},
async dispose() {},
},
}).pipe(Effect.provide(Global.defaultLayer)),
),
).rejects.toThrow(message)
} finally {
mock.restore()
}
})