mirror of
https://github.com/nodejs/node.git
synced 2025-05-07 23:52:40 +00:00

This encapsulates the Node.js errors more by adding extra properties to an error inside of the function to create the error message instead of adding the properties at the call site. That simplifies the usage of our errors and makes sure the expected properties are always set. PR-URL: https://github.com/nodejs/node/pull/26752 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
48 lines
968 B
JavaScript
48 lines
968 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const net = require('net');
|
|
|
|
['foobar', 1, {}, []].forEach((input) => connectThrows(input));
|
|
|
|
// Using port 0 as lookup is emitted before connecting.
|
|
function connectThrows(input) {
|
|
const opts = {
|
|
host: 'localhost',
|
|
port: 0,
|
|
lookup: input
|
|
};
|
|
|
|
common.expectsError(() => {
|
|
net.connect(opts);
|
|
}, {
|
|
code: 'ERR_INVALID_ARG_TYPE',
|
|
type: TypeError
|
|
});
|
|
}
|
|
|
|
connectDoesNotThrow(() => {});
|
|
|
|
function connectDoesNotThrow(input) {
|
|
const opts = {
|
|
host: 'localhost',
|
|
port: 0,
|
|
lookup: input
|
|
};
|
|
|
|
return net.connect(opts);
|
|
}
|
|
|
|
{
|
|
// Verify that an error is emitted when an invalid address family is returned.
|
|
const s = connectDoesNotThrow((host, options, cb) => {
|
|
cb(null, '127.0.0.1', 100);
|
|
});
|
|
|
|
s.on('error', common.expectsError({
|
|
code: 'ERR_INVALID_ADDRESS_FAMILY',
|
|
host: 'localhost',
|
|
port: 0,
|
|
message: 'Invalid address family: 100 localhost:0'
|
|
}));
|
|
}
|