test: refactor test-http-response-splitting

* move repeated code to function
* remove unneeded `common.mustCall()` usage with function arguments that
  are not callbacks
* add error message checking

PR-URL: https://github.com/nodejs/node/pull/11429
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
This commit is contained in:
Arseniy Maximov 2017-02-16 23:29:23 +03:00 committed by James M Snell
parent 1b31ca6cca
commit 66476889ff
1 changed files with 9 additions and 9 deletions

View File

@ -19,23 +19,23 @@ const y = 'foo⠊Set-Cookie: foo=bar';
let count = 0;
function test(res, code, header) {
assert.throws(() => {
res.writeHead(code, header);
}, /^TypeError: The header content contains invalid characters$/);
}
const server = http.createServer((req, res) => {
switch (count++) {
case 0:
const loc = url.parse(req.url, true).query.lang;
assert.throws(common.mustCall(() => {
res.writeHead(302, {Location: `/foo?lang=${loc}`});
}));
test(res, 302, {Location: `/foo?lang=${loc}`});
break;
case 1:
assert.throws(common.mustCall(() => {
res.writeHead(200, {'foo': x});
}));
test(res, 200, {'foo': x});
break;
case 2:
assert.throws(common.mustCall(() => {
res.writeHead(200, {'foo': y});
}));
test(res, 200, {'foo': y});
break;
default:
common.fail('should not get to here.');