31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "@suaveplan/testing/runner";
|
|
import { MapHeaders } from "./request.js";
|
|
|
|
describe("MapHeaders", () => {
|
|
it("returns the inserted value via case-insensitive get", {
|
|
timeout: 5000,
|
|
}, () => {
|
|
const h = new MapHeaders({ "Content-Type": "application/json" });
|
|
expect(h.get("content-type")).toBe("application/json");
|
|
expect(h.get("CONTENT-TYPE")).toBe("application/json");
|
|
});
|
|
|
|
it("returns null for missing keys", { timeout: 5000 }, () => {
|
|
const h = new MapHeaders({});
|
|
expect(h.get("nope")).toBeNull();
|
|
});
|
|
|
|
it("has() is case-insensitive", { timeout: 5000 }, () => {
|
|
const h = new MapHeaders({ "X-Trace-Id": "abc" });
|
|
expect(h.has("x-trace-id")).toBe(true);
|
|
expect(h.has("X-TRACE-ID")).toBe(true);
|
|
expect(h.has("y-trace-id")).toBe(false);
|
|
});
|
|
|
|
it("defaults to empty when no init supplied", { timeout: 5000 }, () => {
|
|
const h = new MapHeaders();
|
|
expect(h.get("anything")).toBeNull();
|
|
expect(h.has("anything")).toBe(false);
|
|
});
|
|
});
|