diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2018-03-19 13:33:46 +0100 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-03-25 01:45:37 +0100 |
commit | c6b6c92185316e13738e6fa931fdd5303e381e46 (patch) | |
tree | c38af9cd1a0a8cd6eeb459af3adee4dfd390fdc6 /test/parallel/test-dgram-send-address-types.js | |
parent | eeb57022e6bada13955a19b15232a9ee4fe9b465 (diff) | |
download | android-node-v8-c6b6c92185316e13738e6fa931fdd5303e381e46.tar.gz android-node-v8-c6b6c92185316e13738e6fa931fdd5303e381e46.tar.bz2 android-node-v8-c6b6c92185316e13738e6fa931fdd5303e381e46.zip |
lib: always show ERR_INVALID_ARG_TYPE received part
This makes a effort to make sure all of these errors will actually
also show the received input.
On top of that it refactors a few tests for better maintainability.
It will also change the returned type to always be a simple typeof
instead of special handling null.
PR-URL: https://github.com/nodejs/node/pull/19445
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'test/parallel/test-dgram-send-address-types.js')
-rw-r--r-- | test/parallel/test-dgram-send-address-types.js | 50 |
1 files changed, 15 insertions, 35 deletions
diff --git a/test/parallel/test-dgram-send-address-types.js b/test/parallel/test-dgram-send-address-types.js index b3f4f3fcea..0d208cfdc8 100644 --- a/test/parallel/test-dgram-send-address-types.js +++ b/test/parallel/test-dgram-send-address-types.js @@ -10,47 +10,27 @@ const onMessage = common.mustCall((err, bytes) => { assert.strictEqual(bytes, buf.length); }, 6); -const expectedError = { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError, - message: - /^The "address" argument must be one of type string or falsy$/ -}; - const client = dgram.createSocket('udp4').bind(0, () => { const port = client.address().port; - // valid address: false - client.send(buf, port, false, onMessage); - - // valid address: empty string - client.send(buf, port, '', onMessage); - - // valid address: null - client.send(buf, port, null, onMessage); - - // valid address: 0 - client.send(buf, port, 0, onMessage); + // Check valid addresses + [false, '', null, 0, undefined].forEach((address) => { + client.send(buf, port, address, onMessage); + }); - // valid address: undefined - client.send(buf, port, undefined, onMessage); - - // valid address: not provided + // Valid address: not provided client.send(buf, port, onMessage); - // invalid address: object - common.expectsError(() => { - client.send(buf, port, []); - }, expectedError); - - // invalid address: nonzero number - common.expectsError(() => { - client.send(buf, port, 1); - }, expectedError); - - // invalid address: true - common.expectsError(() => { - client.send(buf, port, true); - }, expectedError); + // Check invalid addresses + [[], 1, true].forEach((invalidInput) => { + const expectedError = { + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError [ERR_INVALID_ARG_TYPE]', + message: 'The "address" argument must be one of type string or falsy. ' + + `Received type ${typeof invalidInput}` + }; + assert.throws(() => client.send(buf, port, invalidInput), expectedError); + }); }); client.unref(); |