openclaw/src/infra/bonjour-errors.test.ts

31 lines
1.0 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { formatBonjourError } from "./bonjour-errors.js";
describe("formatBonjourError", () => {
it("formats named errors with their type prefix", () => {
const err = new Error("timed out");
err.name = "AbortError";
expect(formatBonjourError(err)).toBe("AbortError: timed out");
});
it("avoids duplicating named errors with blank messages", () => {
const err = new Error("");
err.name = "AbortError";
expect(formatBonjourError(err)).toBe("AbortError");
});
it("treats whitespace-only messages as blank", () => {
const named = new Error(" ");
named.name = "AbortError";
expect(formatBonjourError(named)).toBe("AbortError");
expect(formatBonjourError(new Error(" "))).toBe("Error");
});
it("falls back to plain error strings and non-error values", () => {
expect(formatBonjourError(new Error(""))).toBe("Error");
expect(formatBonjourError("boom")).toBe("boom");
expect(formatBonjourError(42)).toBe("42");
});
});