Live texturing

This commit is contained in:
maqu14
2016-03-18 10:14:02 +01:00
parent 65e5729118
commit 7fc83d1471
155 changed files with 18378 additions and 0 deletions
+152
View File
@@ -0,0 +1,152 @@
var zmq = require('..')
, should = require('should')
, semver = require('semver');
describe('socket.push-pull', function(){
it('should support push-pull', function(done){
var push = zmq.socket('push')
, pull = zmq.socket('pull');
var n = 0;
pull.on('message', function(msg){
msg.should.be.an.instanceof(Buffer);
switch (n++) {
case 0:
msg.toString().should.equal('foo');
break;
case 1:
msg.toString().should.equal('bar');
break;
case 2:
msg.toString().should.equal('baz');
pull.close();
push.close();
done();
break;
}
});
var addr = "inproc://stuff";
pull.bind(addr, function(){
push.connect(addr);
push.send('foo');
push.send('bar');
push.send('baz');
});
});
it('should not emit messages after pause()', function(done){
var push = zmq.socket('push')
, pull = zmq.socket('pull');
var n = 0;
pull.on('message', function(msg){
if(n++ === 0) {
msg.toString().should.equal('foo');
}
else{
should.not.exist(msg);
}
});
var addr = "inproc://pause_stuff";
pull.bind(addr, function(){
push.connect(addr);
push.send('foo');
pull.pause()
push.send('bar');
push.send('baz');
});
setTimeout(function (){
pull.close();
push.close();
done();
}, 100);
});
it('should be able to read messages after pause()', function(done){
var push = zmq.socket('push')
, pull = zmq.socket('pull');
var addr = "inproc://pause_stuff";
var messages = ['bar', 'foo'];
pull.bind(addr, function(){
push.connect(addr);
pull.pause()
messages.forEach(function(message){
push.send(message);
});
messages.forEach(function(message){
pull.read().toString().should.eql(message);
});
});
setTimeout(function (){
pull.close();
push.close();
done();
}, 100);
});
it('should emit messages after resume()', function(done){
var push = zmq.socket('push')
, pull = zmq.socket('pull');
var n = 0;
function checkNoMessages(msg){
should.not.exist(msg);
}
function checkMessages(msg){
msg.should.be.an.instanceof(Buffer);
switch (n++) {
case 0:
msg.toString().should.equal('foo');
break;
case 1:
msg.toString().should.equal('bar');
break;
case 2:
msg.toString().should.equal('baz');
pull.close();
push.close();
done();
break;
}
}
pull.on('message', checkNoMessages)
var addr = "inproc://resume_stuff";
pull.bind(addr, function(){
push.connect(addr);
pull.pause()
push.send('foo');
push.send('bar');
push.send('baz');
setTimeout(function (){
pull.removeListener('message', checkNoMessages)
pull.on('message', checkMessages)
pull.resume()
}, 100)
});
});
});