summaryrefslogtreecommitdiff
path: root/test/parallel/test-dns-setservers-type-check.js
diff options
context:
space:
mode:
authorMasashi Hirano <cherrydog07@gmail.com>2018-07-23 18:49:36 +0900
committerTrivikram Kamat <16024985+trivikr@users.noreply.github.com>2018-08-03 08:34:10 -0700
commit4e1c4e81934e28dd4731a910fbed7d8fd2519bf4 (patch)
treec527f203decc47b1ca2ad8f35a8300e647ae4db5 /test/parallel/test-dns-setservers-type-check.js
parentfdbc668ea316b08b22c95d88d946a2b0f728b9c6 (diff)
downloadandroid-node-v8-4e1c4e81934e28dd4731a910fbed7d8fd2519bf4.tar.gz
android-node-v8-4e1c4e81934e28dd4731a910fbed7d8fd2519bf4.tar.bz2
android-node-v8-4e1c4e81934e28dd4731a910fbed7d8fd2519bf4.zip
dns: type check for dns.setServers argument.
Added type check for argument for dns.setServers and dnsPromises.setServers. PR-URL: https://github.com/nodejs/node/pull/21944 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jon Moss <me@jonathanmoss.me> Reviewed-By: Yuta Hiroto <hello@hiroppy.me> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Diffstat (limited to 'test/parallel/test-dns-setservers-type-check.js')
-rw-r--r--test/parallel/test-dns-setservers-type-check.js87
1 files changed, 87 insertions, 0 deletions
diff --git a/test/parallel/test-dns-setservers-type-check.js b/test/parallel/test-dns-setservers-type-check.js
new file mode 100644
index 0000000000..256c029427
--- /dev/null
+++ b/test/parallel/test-dns-setservers-type-check.js
@@ -0,0 +1,87 @@
+'use strict';
+require('../common');
+const { addresses } = require('../common/internet');
+const assert = require('assert');
+const dns = require('dns');
+const resolver = new dns.promises.Resolver();
+const dnsPromises = dns.promises;
+const promiseResolver = new dns.promises.Resolver();
+
+{
+ [
+ null,
+ undefined,
+ Number(addresses.DNS4_SERVER),
+ addresses.DNS4_SERVER,
+ {
+ address: addresses.DNS4_SERVER
+ }
+ ].forEach((val) => {
+ const errObj = {
+ code: 'ERR_INVALID_ARG_TYPE',
+ name: 'TypeError [ERR_INVALID_ARG_TYPE]',
+ message: 'The "servers" argument must be of type Array. Received type ' +
+ typeof val
+ };
+ assert.throws(
+ () => {
+ dns.setServers(val);
+ }, errObj
+ );
+ assert.throws(
+ () => {
+ resolver.setServers(val);
+ }, errObj
+ );
+ assert.throws(
+ () => {
+ dnsPromises.setServers(val);
+ }, errObj
+ );
+ assert.throws(
+ () => {
+ promiseResolver.setServers(val);
+ }, errObj
+ );
+ });
+}
+
+{
+ [
+ [null],
+ [undefined],
+ [Number(addresses.DNS4_SERVER)],
+ [
+ {
+ address: addresses.DNS4_SERVER
+ }
+ ]
+ ].forEach((val) => {
+ const errObj = {
+ code: 'ERR_INVALID_ARG_TYPE',
+ name: 'TypeError [ERR_INVALID_ARG_TYPE]',
+ message: 'The "servers[0]" argument must be of type string. ' +
+ `Received type ${typeof val[0]}`
+ };
+ assert.throws(
+ () => {
+ dns.setServers(val);
+ }, errObj
+ );
+ assert.throws(
+ () => {
+ resolver.setServers(val);
+ }, errObj
+ );
+ assert.throws(
+ () => {
+ dnsPromises.setServers(val);
+ }, errObj
+ );
+ assert.throws(
+ () => {
+ promiseResolver.setServers(val);
+ }, errObj
+ );
+ });
+}