'use strict'; require('../common'); const assert = require('assert'); const dns = require('dns'); const resolver = new dns.Resolver(); const promiseResolver = new dns.promises.Resolver(); // Verifies that setLocalAddress succeeds with IPv4 and IPv6 addresses { resolver.setLocalAddress('127.0.0.1'); resolver.setLocalAddress('::1'); resolver.setLocalAddress('127.0.0.1', '::1'); promiseResolver.setLocalAddress('127.0.0.1', '::1'); } // Verify that setLocalAddress throws if called with an invalid address { assert.throws(() => { resolver.setLocalAddress('127.0.0.1', '127.0.0.1'); }, Error); assert.throws(() => { resolver.setLocalAddress('::1', '::1'); }, Error); assert.throws(() => { resolver.setLocalAddress('bad'); }, Error); assert.throws(() => { resolver.setLocalAddress(123); }, { code: 'ERR_INVALID_ARG_TYPE' }); assert.throws(() => { resolver.setLocalAddress('127.0.0.1', 42); }, { code: 'ERR_INVALID_ARG_TYPE' }); assert.throws(() => { resolver.setLocalAddress(); }, Error); assert.throws(() => { promiseResolver.setLocalAddress(); }, Error); }