68 lines
1.9 KiB
JavaScript
68 lines
1.9 KiB
JavaScript
var assert = require('assert');
|
|
var binaryjs = require('../');
|
|
var BinaryServer = binaryjs.BinaryServer;
|
|
var BinaryClient = binaryjs.BinaryClient;
|
|
var http = require('http');
|
|
|
|
var server, client, serverUrl = 'ws://localhost:9101';
|
|
|
|
describe('BinaryStream', function(){
|
|
beforeEach(function(){
|
|
server = new BinaryServer({port: 9101});
|
|
});
|
|
afterEach(function(){
|
|
server.close();
|
|
});
|
|
describe('Messaging', function(){
|
|
it('should send and receive messages', function(done){
|
|
server.on('connection', function(client){
|
|
client.on('stream', function(stream){
|
|
stream.on('data', function(){
|
|
done();
|
|
});
|
|
stream.write('hi');
|
|
});
|
|
});
|
|
var client = new BinaryClient(serverUrl);
|
|
client.on('open', function(){
|
|
var stream = client.createStream();
|
|
stream.on('data', function(){
|
|
stream.write('bye');
|
|
});
|
|
});
|
|
});
|
|
it('should send and receive pause, resume, and end', function(done){
|
|
server.on('connection', function(client){
|
|
client.on('stream', function(stream){
|
|
stream.on('pause', function(){
|
|
assert(stream.paused);
|
|
});
|
|
stream.resume();
|
|
stream.on('resume', function(){
|
|
assert(!stream.paused);
|
|
});
|
|
stream.on('end', function(){
|
|
assert(!stream.readable);
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
var client = new BinaryClient(serverUrl);
|
|
client.on('open', function(){
|
|
var stream = client.createStream();
|
|
stream.pause();
|
|
stream.on('pause', function(){
|
|
assert(stream.paused);
|
|
});
|
|
stream.on('resume', function(){
|
|
assert(!stream.paused);
|
|
stream.end();
|
|
});
|
|
stream.on('end', function(){
|
|
assert(!stream.readable);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|