| 1234567891011121314151617181920212223242526272829303132333435363738 |
- 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("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")
- })
- })
|