developertrinidad08 7e6cf29479 first commit
2023-01-16 18:11:14 -03:00

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);
});
});
});
});
});