11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_cirequire('../common'); 31cb0ef41Sopenharmony_ciconst assert = require('assert'); 41cb0ef41Sopenharmony_ci 51cb0ef41Sopenharmony_ciconst dns = require('dns'); 61cb0ef41Sopenharmony_ciconst resolver = new dns.Resolver(); 71cb0ef41Sopenharmony_ciconst promiseResolver = new dns.promises.Resolver(); 81cb0ef41Sopenharmony_ci 91cb0ef41Sopenharmony_ci// Verifies that setLocalAddress succeeds with IPv4 and IPv6 addresses 101cb0ef41Sopenharmony_ci{ 111cb0ef41Sopenharmony_ci resolver.setLocalAddress('127.0.0.1'); 121cb0ef41Sopenharmony_ci resolver.setLocalAddress('::1'); 131cb0ef41Sopenharmony_ci resolver.setLocalAddress('127.0.0.1', '::1'); 141cb0ef41Sopenharmony_ci promiseResolver.setLocalAddress('127.0.0.1', '::1'); 151cb0ef41Sopenharmony_ci} 161cb0ef41Sopenharmony_ci 171cb0ef41Sopenharmony_ci// Verify that setLocalAddress throws if called with an invalid address 181cb0ef41Sopenharmony_ci{ 191cb0ef41Sopenharmony_ci assert.throws(() => { 201cb0ef41Sopenharmony_ci resolver.setLocalAddress('127.0.0.1', '127.0.0.1'); 211cb0ef41Sopenharmony_ci }, Error); 221cb0ef41Sopenharmony_ci assert.throws(() => { 231cb0ef41Sopenharmony_ci resolver.setLocalAddress('::1', '::1'); 241cb0ef41Sopenharmony_ci }, Error); 251cb0ef41Sopenharmony_ci assert.throws(() => { 261cb0ef41Sopenharmony_ci resolver.setLocalAddress('bad'); 271cb0ef41Sopenharmony_ci }, Error); 281cb0ef41Sopenharmony_ci assert.throws(() => { 291cb0ef41Sopenharmony_ci resolver.setLocalAddress(123); 301cb0ef41Sopenharmony_ci }, { code: 'ERR_INVALID_ARG_TYPE' }); 311cb0ef41Sopenharmony_ci assert.throws(() => { 321cb0ef41Sopenharmony_ci resolver.setLocalAddress('127.0.0.1', 42); 331cb0ef41Sopenharmony_ci }, { code: 'ERR_INVALID_ARG_TYPE' }); 341cb0ef41Sopenharmony_ci assert.throws(() => { 351cb0ef41Sopenharmony_ci resolver.setLocalAddress(); 361cb0ef41Sopenharmony_ci }, Error); 371cb0ef41Sopenharmony_ci assert.throws(() => { 381cb0ef41Sopenharmony_ci promiseResolver.setLocalAddress(); 391cb0ef41Sopenharmony_ci }, Error); 401cb0ef41Sopenharmony_ci} 41