Files
OmniRoute/tests/unit/chatcore-headers.test.ts
Diego Rodrigues de Sa e Souza 305474de85 refactor(sse): split chatCore.ts pure helpers into chatCore/ modules (−561 LOC) (#4159)
Integrated into release/v3.8.29 (re-synced: kept only the chatCore split, dropped the stale-merge contamination)
2026-06-18 10:20:08 -03:00

21 lines
1015 B
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import { getHeaderValueCaseInsensitive } from "../../open-sse/handlers/chatCore/headers.ts";
test("getHeaderValueCaseInsensitive reads Headers and plain objects, case-insensitively", () => {
const h = new Headers({ "Content-Type": "text/event-stream" });
assert.equal(getHeaderValueCaseInsensitive(h, "content-type"), "text/event-stream");
const obj = { Accept: "text/event-stream", "X-Foo": "bar" };
assert.equal(getHeaderValueCaseInsensitive(obj, "accept"), "text/event-stream");
assert.equal(getHeaderValueCaseInsensitive(obj, "x-foo"), "bar");
// plain-object values are trimmed
assert.equal(getHeaderValueCaseInsensitive({ Accept: " v " }, "accept"), "v");
// missing / non-object -> null
assert.equal(getHeaderValueCaseInsensitive({ Accept: "x" }, "missing"), null);
assert.equal(getHeaderValueCaseInsensitive(null, "accept"), null);
assert.equal(getHeaderValueCaseInsensitive(undefined, "accept"), null);
});