mirror of
https://github.com/nodejs/node.git
synced 2025-05-08 04:40:59 +00:00

This commit adds a mustNotCall() helper for testing. This provides an alternative to using common.fail() as a callback, or creating a callback function for the sole purpose of calling common.fail(). PR-URL: https://github.com/nodejs/node/pull/11152 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
27 lines
822 B
JavaScript
27 lines
822 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const http = require('http');
|
|
const assert = require('assert');
|
|
|
|
// The callback should never be invoked because the server
|
|
// should respond with a 400 Client Error when a double
|
|
// Content-Length header is received.
|
|
const server = http.createServer(common.mustNotCall());
|
|
server.on('clientError', common.mustCall((err, socket) => {
|
|
assert(/^Parse Error/.test(err.message));
|
|
assert.strictEqual(err.code, 'HPE_UNEXPECTED_CONTENT_LENGTH');
|
|
socket.destroy();
|
|
}));
|
|
|
|
server.listen(0, () => {
|
|
const req = http.get({
|
|
port: server.address().port,
|
|
// Send two content-length header values.
|
|
headers: {'Content-Length': [1, 2]}
|
|
}, common.mustNotCall('an error should have occurred'));
|
|
req.on('error', common.mustCall(() => {
|
|
server.close();
|
|
}));
|
|
});
|