test: add test for dns.promises.resolve .

PR-URL: https://github.com/nodejs/node/pull/21691
Reviewed-By: Weijia Wang <starkwang@126.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Keita Akutsu 2018-07-07 02:27:33 +09:00 committed by Anna Henningsen
parent 98117a84d9
commit 3898abc55c
No known key found for this signature in database
GPG Key ID: 9C63F3A6CD2AD8F9

View File

@ -0,0 +1,44 @@
'use strict';
const common = require('../common');
const assert = require('assert');
const dnsPromises = require('dns').promises;
common.crashOnUnhandledRejection();
// Error when rrtype is invalid.
{
const rrtype = 'DUMMY';
common.expectsError(
() => dnsPromises.resolve('example.org', rrtype),
{
code: 'ERR_INVALID_OPT_VALUE',
type: TypeError,
message: `The value "${rrtype}" is invalid for option "rrtype"`
}
);
}
// Error when rrtype is a number.
{
const rrtype = 0;
common.expectsError(
() => dnsPromises.resolve('example.org', rrtype),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError,
message: 'The "rrtype" argument must be of type string. ' +
`Received type ${typeof rrtype}`
}
);
}
// rrtype is undefined, it's same as resolve4
{
(async function() {
const rrtype = undefined;
const result = await dnsPromises.resolve('example.org', rrtype);
assert.ok(result !== undefined);
assert.ok(result.length > 0);
})();
}