@@ -47,6 +47,49 @@ describe("Connect to remote server", function() {
4747 new DDPClient ( { 'host' : 'myserver.com' , 'port' : 443 } ) . connect ( ) ;
4848 assert . deepEqual ( wsConstructor . args , [ [ 'wss://myserver.com:443/websocket' ] ] ) ;
4949 } ) ;
50+
51+ it ( 'should clear event listeners on close' , function ( done ) {
52+ var ddpclient = new DDPClient ( ) ;
53+ var callback = sinon . stub ( ) ;
54+
55+ ddpclient . connect ( callback ) ;
56+ ddpclient . close ( ) ;
57+ ddpclient . connect ( callback ) ;
58+
59+ setTimeout ( function ( ) {
60+ assert . equal ( ddpclient . listeners ( 'connected' ) . length , 1 ) ;
61+ assert . equal ( ddpclient . listeners ( 'failed' ) . length , 1 ) ;
62+ done ( ) ;
63+ } , 15 ) ;
64+ } ) ;
65+
66+ it ( 'should call the connection callback when connection is established' , function ( done ) {
67+ var ddpclient = new DDPClient ( ) ;
68+ var callback = sinon . spy ( ) ;
69+
70+ ddpclient . connect ( callback ) ;
71+ wsMock . emit ( 'message' , { data : '{ "msg": "connected" }' } ) ;
72+
73+ setTimeout ( function ( ) {
74+ assert ( callback . calledWith ( undefined , false ) ) ;
75+ done ( ) ;
76+ } , 15 ) ;
77+ } ) ;
78+
79+ it ( 'should pass socket errors occurring during connection to the connection callback' , function ( done ) {
80+ var ddpclient = new DDPClient ( ) ;
81+ var callback = sinon . spy ( ) ;
82+
83+ var socketError = "Network error: ws://localhost:3000/websocket: connect ECONNREFUSED" ;
84+
85+ ddpclient . connect ( callback ) ;
86+ wsMock . emit ( 'error' , { message : socketError } ) ;
87+
88+ setTimeout ( function ( ) {
89+ assert ( callback . calledWith ( socketError , false ) ) ;
90+ done ( ) ;
91+ } , 15 ) ;
92+ } ) ;
5093} ) ;
5194
5295
@@ -91,21 +134,6 @@ describe('Automatic reconnection', function() {
91134 done ( ) ;
92135 } , 15 ) ;
93136 } ) ;
94-
95- it ( 'should clear event listeners on close' , function ( done ) {
96- var ddpclient = new DDPClient ( ) ;
97- var callback = sinon . stub ( ) ;
98-
99- ddpclient . connect ( callback ) ;
100- ddpclient . close ( ) ;
101- ddpclient . connect ( callback ) ;
102-
103- setTimeout ( function ( ) {
104- assert . equal ( ddpclient . listeners ( 'connected' ) . length , 1 ) ;
105- assert . equal ( ddpclient . listeners ( 'failed' ) . length , 1 ) ;
106- done ( ) ;
107- } , 15 ) ;
108- } )
109137} ) ;
110138
111139
0 commit comments