diff options
author | Masashi Hirano <cherrydog07@gmail.com> | 2018-07-23 18:49:36 +0900 |
---|---|---|
committer | Trivikram Kamat <16024985+trivikr@users.noreply.github.com> | 2018-08-03 08:34:10 -0700 |
commit | 4e1c4e81934e28dd4731a910fbed7d8fd2519bf4 (patch) | |
tree | c527f203decc47b1ca2ad8f35a8300e647ae4db5 /test/parallel/test-dns-setservers-type-check.js | |
parent | fdbc668ea316b08b22c95d88d946a2b0f728b9c6 (diff) | |
download | android-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.js | 87 |
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 + ); + }); +} |