Skip to content

Commit 31b0709

Browse files
committed
Implemented sockjs and tests for it
1 parent eb53ef6 commit 31b0709

File tree

6 files changed

+37
-65
lines changed

6 files changed

+37
-65
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
"test-chrome": "browserify test/*.js | tape-run --render=\"faucet\" --browser chrome",
6161
"test-safari": "browserify test/*.js | tape-run --render=\"faucet\" --browser safari",
6262
"test-firefox": "browserify test/*.js | tape-run --render=\"faucet\" --browser firefox",
63-
"test-websockets": "tap test/transports/**.js --test-arg=websockets"
63+
"test-websockets": "tap test/transports/**.js --test-arg=websockets",
64+
"test-sockjs": "tap test/transports/**.js --test-arg=sockjs"
6465
}
6566
}

test/transports/connect.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,11 @@ test('CONNECT TEST', function(t) {
4040
var timeoutCheckEnd = Math.round( (new Date().getTime()-timeoutCheck)/1000 );
4141
t.equal(timeoutCheckEnd, timeoutDisconnect, '❌ disconnect');
4242
t.end();
43-
try {server.listener.close()} catch(e) {}
43+
try {
44+
server.listener.close();
45+
} catch(e) {
46+
process.exit();
47+
}
4448
});
4549

4650

@@ -70,5 +74,8 @@ test('CONNECT TEST', function(t) {
7074
// Sending messages before is connected
7175
nodeClient.send('Before');
7276
// Disconnecting
73-
setTimeout(nodeClient.disconnect.bind(nodeClient), 1000)
77+
setTimeout(function(){
78+
// console.log( 'disconnecting...' );
79+
nodeClient.disconnect();
80+
}, 1000);
7481

test/transports/events.js

Lines changed: 17 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -22,80 +22,41 @@ test('Events', function(t) {
2222
sock = socket;
2323
t.equal(order++, 1, 'server/open');
2424
});
25-
26-
server.listener.on('connection', function(socket){
27-
sock.on('message', onmessageserver);
28-
sock.on('close', oncloseserver);
29-
t.equal(order++, 2, 'server/connection');
30-
t.equal(sock, socket, 'server/connection sock');
31-
});
32-
3325
client.on('open', function(socket){
3426
sock2 = socket;
35-
t.equal(order++, 3, 'client/open');
27+
t.equal(order++, 2, 'client/open');
3628
});
3729

38-
client.socket.on('open', function(){
39-
sock2.on('message', onmessageclient);
40-
sock2.on('close', oncloseclient);
41-
t.equal(order++, 4, 'clientsocket/open');
42-
t.equal(sock2, this, 'clientsocket/open sock');
43-
});
44-
45-
46-
47-
server.on('message', function(node, message) {
48-
msg = message;
49-
t.equal(order++, 7, 'server/message');
50-
t.equal(sock, node.socket, 'server/message sock');
51-
});
52-
function onmessageserver(message) {
53-
if (message != ""){
54-
t.equal(order++, 8, 'serverlistener/message');
55-
t.equal(msg, message, 'serverlistener/message msg');
56-
(Math.round(Math.random()*100)%2) ? sock.close() : sock2.close();
57-
}
58-
};
5930

6031
client.on('message', function(message){
61-
msg2 = message;
62-
t.equal(order++, 5, 'client/message');
32+
t.equal(order++, 3, 'client/message');
6333
t.equal(sock2, client.socket, 'client/message sock');
6434
});
65-
function onmessageclient(message){
66-
t.equal(order++, 6, 'clientsocket/message');
67-
t.equal(msg2, message, 'clientsocket/message msg');
68-
};
69-
35+
server.on('message', function(node, message) {
36+
t.equal(order++, 4, 'server/message');
37+
t.equal(sock, node.socket, 'server/message sock');
38+
});
7039

7140

7241

7342
client.on('close', function(){
74-
t.equal(order++, 9, 'client/close');
43+
t.equal(order++, 5, 'client/close');
7544
});
76-
function oncloseclient(){
77-
t.equal(order++, 10, 'clientsocket/close');
78-
};
79-
80-
81-
8245
server.on('close', function(socket){
83-
t.equal(order++, 11, 'server/close');
46+
t.equal(order++, 6, 'server/close');
8447
t.equal(sock, socket, 'server/close sock');
85-
});
86-
function oncloseserver(){
87-
t.equal(order++, 12, 'serverlistener/close');
8848
t.end();
89-
9049
try {
91-
setTimeout(function(){
92-
client.socket.close();
93-
server.listener.close();
94-
t.end();
95-
},1000);
96-
} catch(e) {}
97-
};
50+
server.listener.close();
51+
} catch(e) {
52+
process.exit();
53+
}
54+
});
55+
9856

9957
});
10058

10159

60+
setTimeout(function(){
61+
client.socket.close();
62+
},1000);

test/transports/queue.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function send() {
2525
if (nodeServer)
2626
nodeServer.send(String(msg));
2727
if (msg++ < 15)
28-
setTimeout(send, 200);
28+
setTimeout(send, 300);
2929
}
3030
send();
3131

@@ -52,8 +52,9 @@ test('CONNECT TEST', function(t) {
5252
if (message[0] !== '[') {
5353
t.equal(message, String(incC++), '✅ message `'+message+'`');
5454
if (incS===16 && incC===16) {
55-
server.listener.close();
5655
t.end();
56+
try {server.listener.close();
57+
} catch(e) {process.exit();}
5758
}
5859
}
5960
});

test/transports/reconnect.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,9 @@ test('RECONNECT TEST', function(t) {
4242
});
4343
nodeClient.on('reconnect', function(oldSocket) {
4444
t.equal(oldSocket, socketClient, '✅ reconnect');
45-
server.listener.close();
4645
t.end();
46+
try {server.listener.close();
47+
} catch(e) {process.exit();}
4748
});
4849
});
4950

test/transports/reconnectfail.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ var test = require('tape');
22
var dop = require('../../dist/nodejs');
33
var dopServer = dop.create();
44
var dopClient = dop.create();
5-
var transportName = process.argv[2] || 'local';
5+
6+
var transportName = process.argv[2] || 'sockjs';
67
var transportListen = require('dop-transports').listen[transportName];
78
var transportConnect = require('dop-transports').connect[transportName];
89

@@ -31,9 +32,9 @@ test('RECONNECT TEST', function(t) {
3132
else {
3233
connected2 = true;
3334
t.notEqual(node.socket, socketServer, '❌ connect 2');
34-
// nodeClient.disconnect();
35-
server.listener.close();
3635
t.end();
36+
try {server.listener.close();
37+
} catch(e) {process.exit();}
3738
}
3839
});
3940
server.on('disconnect', function(node){

0 commit comments

Comments
 (0)