mirror of
https://github.com/nodejs/node.git
synced 2025-04-28 13:40:37 +00:00

Add missing coverage for setLocalAddress() method of dns.Resolver class. The case where a valid IPv4 argument was supplied along with an invalid IPv6 argument was not being checked. Refs: https://coverage.nodejs.org/coverage-85b42af4398073f8/lib/internal/dns/utils.js.html#L124 PR-URL: https://github.com/nodejs/node/pull/36039 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
'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);
|
|
}
|