/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/tui/test/util/error.test.ts
49 строк
2 KB
Dax
refactor(server): canonicalize service API (#31049)
07 июн 2026, 06:27
Не верифицирован
07 июн 2026, 06:27
fe0c4f8
Код
Авторство
О чём код?
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") }) })