bonree-zmq
Version:
Bindings for node.js and io.js to ZeroMQ
61 lines (49 loc) • 1.58 kB
JavaScript
var zmq = require('..')
, should = require('should')
, semver = require('semver');
describe('socket', function(){
var sock;
it('should alias socket', function(){
zmq.createSocket.should.equal(zmq.socket);
});
it('should include type and close', function(){
sock = zmq.socket('req');
sock.type.should.equal('req');
sock.close.should.be.a.Function;
});
it('should use socketopt', function(){
sock.getsockopt(zmq.ZMQ_BACKLOG).should.not.equal(75);
sock.setsockopt(zmq.ZMQ_BACKLOG, 75).should.equal(sock);
sock.getsockopt(zmq.ZMQ_BACKLOG).should.equal(75);
sock.setsockopt(zmq.ZMQ_BACKLOG, 100);
});
it('should use socketopt with sugar', function(){
sock.getsockopt('backlog').should.not.equal(75);
sock.setsockopt('backlog', 75).should.equal(sock);
sock.getsockopt('backlog').should.equal(75);
sock.backlog.should.be.a.Number;
sock.backlog.should.not.equal(50);
sock.backlog = 50;
sock.backlog.should.equal(50);
});
it('should close', function(){
sock.close();
});
it('should support options', function(){
sock = zmq.socket('req', { backlog: 30 });
sock.backlog.should.equal(30);
sock.close();
});
it('should throw a javascript error if it hits the system file descriptor limit', function() {
var i, socks = [], numSocks = 10000;
function hitlimit() {
for (i = 0; i < numSocks; i++) {
socks.push(zmq.socket('router'));
}
}
hitlimit.should['throw'];
for (i = 0; i < socks.length; i++) {
socks[i].close();
}
});
});