Download packages/tui/test/util/error.test.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.62 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/tui/test/util/error.test.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/tui/test/util/error.test.ts
-
curl -L -o error.test.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/tui/test/util/error.test.ts
1.62 kB
| import { describe, expect, test } from "bun:test" | |
| import { errorData, errorFormat, errorMessage } from "../../src/util/error" | |
| describe("util.error", () => { | |
| test("formats native Error instances", () => { | |
| const err = new Error("boom") | |
| expect(errorMessage(err)).toBe("boom") | |
| expect(errorFormat(err)).toContain("boom") | |
| const data = errorData(err) | |
| expect(data.type).toBe("Error") | |
| expect(data.message).toBe("boom") | |
| expect(String(data.formatted)).toContain("boom") | |
| }) | |
| test("extracts message from record-like values", () => { | |
| const err = { message: "bad input", code: "E_BAD" } | |
| expect(errorMessage(err)).toBe("bad input") | |
| const data = errorData(err) | |
| expect(data.message).toBe("bad input") | |
| expect(data.code).toBe("E_BAD") | |
| }) | |
| test("never returns bare {} for opaque object errors", () => { | |
| expect(errorFormat({})).not.toBe("{}") | |
| expect(errorFormat({})).toContain("no message") | |
| class OpaqueError {} | |
| const opaque = new OpaqueError() | |
| Object.defineProperty(opaque, "secret", { value: "hidden", enumerable: false }) | |
| expect(errorFormat(opaque)).not.toBe("{}") | |
| expect(errorFormat(opaque)).toContain("OpaqueError") | |
| }) | |
| test("handles opaque throwables with custom toString", () => { | |
| const err = { | |
| toString() { | |
| return "ResolveMessage: Cannot resolve module" | |
| }, | |
| } | |
| expect(errorMessage(err)).toBe("ResolveMessage: Cannot resolve module") | |
| const data = errorData(err) | |
| expect(data.message).toBe("ResolveMessage: Cannot resolve module") | |
| expect(String(data.formatted)).toContain("ResolveMessage") | |
| }) | |
| }) | |