From e46b8edb58058b2be107640b5c813988867be761 Mon Sep 17 00:00:00 2001
From: Mark Arranz <mark.arranz@gmail.com>
Date: Tue, 6 Nov 2018 21:25:30 -0800
Subject: [PATCH] test: add error code tests in dgram test

Improve error validation in test-dgram-send-bad-arguments.

PR-URL: https://github.com/nodejs/node/pull/24215
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
---
 .../parallel/test-dgram-send-bad-arguments.js | 35 +++++++++++++++----
 1 file changed, 29 insertions(+), 6 deletions(-)

diff --git a/test/parallel/test-dgram-send-bad-arguments.js b/test/parallel/test-dgram-send-bad-arguments.js
index 4eb7dca7a38e5d..20356ba50c477a 100644
--- a/test/parallel/test-dgram-send-bad-arguments.js
+++ b/test/parallel/test-dgram-send-bad-arguments.js
@@ -20,7 +20,7 @@
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 'use strict';
-require('../common');
+const common = require('../common');
 const assert = require('assert');
 const dgram = require('dgram');
 
@@ -28,9 +28,16 @@ const buf = Buffer.from('test');
 const host = '127.0.0.1';
 const sock = dgram.createSocket('udp4');
 
-assert.throws(() => {
-  sock.send();
-}, TypeError);  // First argument should be a buffer.
+// First argument should be a buffer.
+common.expectsError(
+  () => { sock.send(); },
+  {
+    code: 'ERR_INVALID_ARG_TYPE',
+    type: TypeError,
+    message: 'The "buffer" argument must be one of type ' +
+    'Buffer, Uint8Array, or string. Received type undefined'
+  }
+);
 
 // send(buf, offset, length, port, host)
 assert.throws(() => { sock.send(buf, 1, 1, -1, host); }, RangeError);
@@ -38,7 +45,23 @@ assert.throws(() => { sock.send(buf, 1, 1, 0, host); }, RangeError);
 assert.throws(() => { sock.send(buf, 1, 1, 65536, host); }, RangeError);
 
 // send(buf, port, host)
-assert.throws(() => { sock.send(23, 12345, host); }, TypeError);
+common.expectsError(
+  () => { sock.send(23, 12345, host); },
+  {
+    code: 'ERR_INVALID_ARG_TYPE',
+    type: TypeError,
+    message: 'The "buffer" argument must be one of type ' +
+    'Buffer, Uint8Array, or string. Received type number'
+  }
+);
 
 // send([buf1, ..], port, host)
-assert.throws(() => { sock.send([buf, 23], 12345, host); }, TypeError);
+common.expectsError(
+  () => { sock.send([buf, 23], 12345, host); },
+  {
+    code: 'ERR_INVALID_ARG_TYPE',
+    type: TypeError,
+    message: 'The "buffer list arguments" argument must be one of type ' +
+    'Buffer or string. Received type object'
+  }
+);