Buckets:
| 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") | |
| }) | |
| }) | |
Xet Storage Details
- Size:
- 1.62 kB
- Xet hash:
- 945401b5c0550f03211305e8b755498aada003cace7207981a7c1d342bac8be5
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.