34 lines
820 B
JavaScript
34 lines
820 B
JavaScript
![]() |
'use strict';
|
||
|
|
||
|
require('../common');
|
||
|
const assert = require('assert');
|
||
|
const dgram = require('dgram');
|
||
|
const multicastAddress = '224.0.0.114';
|
||
|
|
||
|
const setup = dgram.createSocket.bind(dgram, { type: 'udp4', reuseAddr: true });
|
||
|
|
||
|
// addMembership() with valid socket and multicast address should not throw
|
||
|
{
|
||
|
const socket = setup();
|
||
|
socket.addMembership(multicastAddress);
|
||
|
socket.close();
|
||
|
}
|
||
|
|
||
|
// dropMembership() without previous addMembership should throw
|
||
|
{
|
||
|
const socket = setup();
|
||
|
assert.throws(
|
||
|
() => { socket.dropMembership(multicastAddress); },
|
||
|
/^Error: dropMembership EADDRNOTAVAIL$/
|
||
|
);
|
||
|
socket.close();
|
||
|
}
|
||
|
|
||
|
// dropMembership() after addMembership() should not throw
|
||
|
{
|
||
|
const socket = setup();
|
||
|
socket.addMembership(multicastAddress);
|
||
|
socket.dropMembership(multicastAddress);
|
||
|
socket.close();
|
||
|
}
|