mirror of https://github.com/nodejs/node.git
test: refactor test-http-response-statuscode
* move repeated code to function * use strings for expected error (exposes result for [] as empty string) * remove unneeded `common.mustCall()` usage with function arguments that are not callbacks PR-URL: https://github.com/nodejs/node/pull/11274 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
This commit is contained in:
parent
87df7e65bc
commit
dd1cf8bb37
|
@ -6,76 +6,54 @@ const http = require('http');
|
||||||
const MAX_REQUESTS = 13;
|
const MAX_REQUESTS = 13;
|
||||||
let reqNum = 0;
|
let reqNum = 0;
|
||||||
|
|
||||||
const createErrorMessage = (code) => {
|
function test(res, header, code) {
|
||||||
return new RegExp(`^RangeError: Invalid status code: ${code}$`);
|
const errRegExp = new RegExp(`^RangeError: Invalid status code: ${code}$`);
|
||||||
};
|
assert.throws(() => {
|
||||||
|
res.writeHead(header);
|
||||||
|
}, errRegExp);
|
||||||
|
}
|
||||||
|
|
||||||
const server = http.Server(common.mustCall(function(req, res) {
|
const server = http.Server(common.mustCall(function(req, res) {
|
||||||
switch (reqNum) {
|
switch (reqNum) {
|
||||||
case 0:
|
case 0:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, -1, '-1');
|
||||||
res.writeHead(-1);
|
|
||||||
}), createErrorMessage(-1));
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, Infinity, 'Infinity');
|
||||||
res.writeHead(Infinity);
|
|
||||||
}), createErrorMessage(Infinity));
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, NaN, 'NaN');
|
||||||
res.writeHead(NaN);
|
|
||||||
}), createErrorMessage(NaN));
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, {}, '\\[object Object\\]');
|
||||||
res.writeHead({});
|
|
||||||
}), createErrorMessage('\\[object Object\\]'));
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, 99, '99');
|
||||||
res.writeHead(99);
|
|
||||||
}), createErrorMessage(99));
|
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, 1000, '1000');
|
||||||
res.writeHead(1000);
|
|
||||||
}), createErrorMessage(1000));
|
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, '1000', '1000');
|
||||||
res.writeHead('1000');
|
|
||||||
}), createErrorMessage('1000'));
|
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, null, 'null');
|
||||||
res.writeHead(null);
|
|
||||||
}), createErrorMessage(null));
|
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, true, 'true');
|
||||||
res.writeHead(true);
|
|
||||||
}), createErrorMessage(true));
|
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, [], '');
|
||||||
res.writeHead([]);
|
|
||||||
}), createErrorMessage([]));
|
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, 'this is not valid', 'this is not valid');
|
||||||
res.writeHead('this is not valid');
|
|
||||||
}), createErrorMessage('this is not valid'));
|
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
assert.throws(common.mustCall(() => {
|
test(res, '404 this is not valid either', '404 this is not valid either');
|
||||||
res.writeHead('404 this is not valid either');
|
|
||||||
}), createErrorMessage('404 this is not valid either'));
|
|
||||||
break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
assert.throws(common.mustCall(() => {
|
assert.throws(() => { res.writeHead(); },
|
||||||
res.writeHead();
|
/^RangeError: Invalid status code: undefined$/);
|
||||||
}), createErrorMessage(undefined));
|
|
||||||
this.close();
|
this.close();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue