summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/js/hero.mjs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/js/hero.mjs b/tests/js/hero.mjs
index 171e01f..d57152f 100644
--- a/tests/js/hero.mjs
+++ b/tests/js/hero.mjs
@@ -31,6 +31,7 @@ import {
handle404,
make404Handler,
handleRequest,
+ emitHeaders,
makeRequestListener,
actionsFn,
lineHandlerFn,
@@ -1142,6 +1143,28 @@ const test_handleRequest = async t => {
});
};
+const test_emitHeaders = async t => {
+ t.start("emitHeaders()");
+
+ await t.test("empty values", () => {
+ assert.equal(emitHeaders({}), "");
+ assert.equal(emitHeaders({ "": "" }), ": ");
+ assert.equal(emitHeaders({ " ": " " }), " : ");
+ assert.equal(emitHeaders({ "_": "_" }), "_: _");
+ });
+
+ await t.test("newlines are forwarded", () => {
+ assert.equal(emitHeaders({"\na\n": "\nb\n"}), "\na\n: \nb\n");
+ });
+
+ await t.test("keys are always sorted", () => {
+ assert.equal(
+ emitHeaders({ "a": "one", "Z": "two" }),
+ "a: one\r\nZ: two",
+ );
+ });
+};
+
const test_makeRequestListener = async t => {
t.start("makeRequestListener()");
@@ -1834,6 +1857,7 @@ await runner.runTests([
test_extractQueryParams,
test_make404Handler,
test_handleRequest,
+ test_emitHeaders,
test_makeRequestListener,
test_actionsFn,
test_lineHandlerFn,