'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' })); }