// deno-fmt-ignore-file // deno-lint-ignore-file // Copyright Joyent and Node contributors. All rights reserved. MIT license. // Taken from Node 18.12.1 // This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually. 'use strict'; const common = require('../common'); const assert = require('assert'); 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 }; assert.throws(() => { net.connect(opts); }, { code: 'ERR_INVALID_ARG_TYPE', name: '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) => { if (options.all) { cb(null, [{ address: '127.0.0.1', family: 100 }]); } else { 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' })); }