diff options
author | EuAndreh <eu@euandre.org> | 2024-03-15 12:36:30 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-03-15 12:36:30 -0300 |
commit | 355ddb6f5b1c9ea6eed0aa84251bc821b193e3a7 (patch) | |
tree | e2fd5211e7a641800907949ad51e19c256f845c5 /tests | |
parent | src/hero.mjs: Add comboForLabel() (diff) | |
download | papod-355ddb6f5b1c9ea6eed0aa84251bc821b193e3a7.tar.gz papod-355ddb6f5b1c9ea6eed0aa84251bc821b193e3a7.tar.xz |
src/hero.mjs: Add emitHeaders()
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, |