test: improving coverage for dgram

PR-URL: https://github.com/nodejs/node/pull/10783
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
abouthiroppy 2017-01-13 11:05:35 +09:00 committed by Italo A. Casas
parent 8e491a4f3f
commit 2057a63a91
3 changed files with 32 additions and 15 deletions

View File

@ -0,0 +1,12 @@
'use strict';
const common = require('../common');
const assert = require('assert');
const dgram = require('dgram');
const socket = dgram.createSocket('udp4');
socket.bind(0);
socket.on('listening', common.mustCall(() => {
const result = socket.setMulticastLoopback(16);
assert.strictEqual(result, 16);
socket.close();
}));

View File

@ -1,23 +1,23 @@
'use strict';
require('../common');
const common = require('../common');
const assert = require('assert');
const dgram = require('dgram');
const socket = dgram.createSocket('udp4');
let thrown = false;
socket.bind(0);
socket.on('listening', function() {
socket.setMulticastTTL(16);
socket.on('listening', common.mustCall(() => {
const result = socket.setMulticastTTL(16);
assert.strictEqual(result, 16);
//Try to set an invalid TTL (valid ttl is > 0 and < 256)
try {
assert.throws(() => {
socket.setMulticastTTL(1000);
} catch (e) {
thrown = true;
}
}, /^Error: setMulticastTTL EINVAL$/);
assert(thrown, 'Setting an invalid multicast TTL should throw some error');
assert.throws(() => {
socket.setMulticastTTL('foo');
}, /^TypeError: Argument must be a number$/);
//close the socket
socket.close();
});
}));

View File

@ -1,17 +1,22 @@
'use strict';
require('../common');
const common = require('../common');
const assert = require('assert');
const dgram = require('dgram');
const socket = dgram.createSocket('udp4');
socket.bind(0);
socket.on('listening', function() {
socket.on('listening', common.mustCall(() => {
const result = socket.setTTL(16);
assert.strictEqual(result, 16);
assert.throws(function() {
assert.throws(() => {
socket.setTTL('foo');
}, /Argument must be a number/);
}, /^TypeError: Argument must be a number$/);
// TTL must be a number from > 0 to < 256
assert.throws(() => {
socket.setTTL(1000);
}, /^Error: setTTL EINVAL$/);
socket.close();
});
}));