diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/js/hero.mjs | 24 |
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, |