11import { createServer } from "http" ;
2- import { Server } from "socket.io" ;
3- import { io as ioc } from "socket.io-client" ;
2+ import { Server , Socket as ServerSocket } from "socket.io" ;
3+ import { io as ioc , Socket as ClientSocket } from "socket.io-client" ;
44import expect = require( "expect.js" ) ;
55import { createAdapter } from ".." ;
66import type { AddressInfo } from "net" ;
@@ -11,8 +11,8 @@ import "./util";
1111const ioredis = require ( "ioredis" ) . createClient ;
1212
1313let namespace1 , namespace2 , namespace3 ;
14- let client1 , client2 , client3 ;
15- let socket1 , socket2 , socket3 ;
14+ let client1 : ClientSocket , client2 : ClientSocket , client3 : ClientSocket ;
15+ let socket1 : ServerSocket , socket2 : ServerSocket , socket3 : ServerSocket ;
1616
1717const shouldNotHappen = ( done ) => ( ) => done ( new Error ( "should not happen" ) ) ;
1818
@@ -41,34 +41,22 @@ const shouldNotHappen = (done) => () => done(new Error("should not happen"));
4141 done ( ) ;
4242 } ) ;
4343
44- var buf = Buffer . from ( "asdfasdf" , "utf8" ) ;
45- var array = Uint8Array . of ( 1 , 2 , 3 , 4 ) ;
44+ const buf = Buffer . from ( "asdfasdf" , "utf8" ) ;
45+ const array = Uint8Array . of ( 1 , 2 , 3 , 4 ) ;
4646 socket2 . broadcast . emit ( "woot" , [ ] , { a : "b" } , buf , array ) ;
4747 } ) ;
4848
4949 it ( "broadcasts to a room" , ( done ) => {
5050 socket1 . join ( "woot" ) ;
51- client2 . emit ( "do broadcast" ) ;
51+ socket2 . broadcast . to ( "woot" ) . emit ( "broadcast" ) ;
5252
53- // does not join, performs broadcast
54- socket2 . on ( "do broadcast" , ( ) => {
55- socket2 . broadcast . to ( "woot" ) . emit ( "broadcast" ) ;
56- } ) ;
57-
58- client1 . on ( "broadcast" , ( ) => {
59- setTimeout ( done , 100 ) ;
60- } ) ;
61-
62- client2 . on ( "broadcast" , ( ) => {
63- throw new Error ( "Not in room" ) ;
64- } ) ;
65-
66- client3 . on ( "broadcast" , ( ) => {
67- throw new Error ( "Not in room" ) ;
68- } ) ;
53+ client1 . on ( "broadcast" , done ) ;
54+ client2 . on ( "broadcast" , shouldNotHappen ( done ) ) ;
55+ client3 . on ( "broadcast" , shouldNotHappen ( done ) ) ;
6956 } ) ;
7057
7158 it ( "broadcasts to a numeric room" , ( done ) => {
59+ // @ts -ignore
7260 socket1 . join ( 123 ) ;
7361 namespace2 . to ( 123 ) . emit ( "broadcast" ) ;
7462
@@ -79,95 +67,53 @@ const shouldNotHappen = (done) => () => done(new Error("should not happen"));
7967
8068 it ( "uses a namespace to broadcast to rooms" , ( done ) => {
8169 socket1 . join ( "woot" ) ;
82- client2 . emit ( "do broadcast" ) ;
83- socket2 . on ( "do broadcast" , ( ) => {
84- namespace2 . to ( "woot" ) . emit ( "broadcast" ) ;
85- } ) ;
86-
87- client1 . on ( "broadcast" , ( ) => {
88- setTimeout ( done , 100 ) ;
89- } ) ;
90-
91- client2 . on ( "broadcast" , ( ) => {
92- throw new Error ( "Not in room" ) ;
93- } ) ;
70+ namespace2 . to ( "woot" ) . emit ( "broadcast" ) ;
9471
95- client3 . on ( "broadcast" , ( ) => {
96- throw new Error ( "Not in room" ) ;
97- } ) ;
72+ client1 . on ( "broadcast" , done ) ;
73+ client2 . on ( "broadcast" , shouldNotHappen ( done ) ) ;
74+ client3 . on ( "broadcast" , shouldNotHappen ( done ) ) ;
9875 } ) ;
9976
10077 it ( "broadcasts to multiple rooms at a time" , ( done ) => {
101- function test ( ) {
102- client2 . emit ( "do broadcast" ) ;
103- }
104-
10578 socket1 . join ( [ "foo" , "bar" ] ) ;
106- client2 . emit ( "do broadcast" ) ;
107-
108- socket2 . on ( "do broadcast" , ( ) => {
109- socket2 . broadcast . to ( "foo" ) . to ( "bar" ) . emit ( "broadcast" ) ;
110- } ) ;
79+ socket2 . broadcast . to ( "foo" ) . to ( "bar" ) . emit ( "broadcast" ) ;
11180
11281 let called = false ;
11382 client1 . on ( "broadcast" , ( ) => {
114- if ( called ) return done ( new Error ( "Called more than once" ) ) ;
83+ if ( called ) return shouldNotHappen ( done ) ;
11584 called = true ;
116- setTimeout ( done , 100 ) ;
117- } ) ;
118-
119- client2 . on ( "broadcast" , ( ) => {
120- throw new Error ( "Not in room" ) ;
85+ done ( ) ;
12186 } ) ;
12287
123- client3 . on ( "broadcast" , ( ) => {
124- throw new Error ( "Not in room" ) ;
125- } ) ;
88+ client2 . on ( "broadcast" , shouldNotHappen ( done ) ) ;
89+ client3 . on ( "broadcast" , shouldNotHappen ( done ) ) ;
12690 } ) ;
12791
12892 it ( "doesn't broadcast when using the local flag" , ( done ) => {
12993 socket1 . join ( "woot" ) ;
13094 socket2 . join ( "woot" ) ;
131- client2 . emit ( "do broadcast" ) ;
132-
133- socket2 . on ( "do broadcast" , ( ) => {
134- namespace2 . local . to ( "woot" ) . emit ( "local broadcast" ) ;
135- } ) ;
95+ namespace2 . local . to ( "woot" ) . emit ( "local broadcast" ) ;
13696
137- client1 . on ( "local broadcast" , ( ) => {
138- throw new Error ( "Not in local server" ) ;
139- } ) ;
140-
141- client2 . on ( "local broadcast" , ( ) => {
142- setTimeout ( done , 100 ) ;
143- } ) ;
144-
145- client3 . on ( "local broadcast" , ( ) => {
146- throw new Error ( "Not in local server" ) ;
147- } ) ;
97+ client1 . on ( "local broadcast" , shouldNotHappen ( done ) ) ;
98+ client2 . on ( "local broadcast" , done ) ;
99+ client3 . on ( "local broadcast" , shouldNotHappen ( done ) ) ;
148100 } ) ;
149101
150102 it ( "doesn't broadcast to left rooms" , ( done ) => {
151103 socket1 . join ( "woot" ) ;
152104 socket1 . leave ( "woot" ) ;
105+ socket2 . broadcast . to ( "woot" ) . emit ( "broadcast" ) ;
153106
154- socket2 . on ( "do broadcast" , ( ) => {
155- socket2 . broadcast . to ( "woot" ) . emit ( "broadcast" ) ;
156-
157- setTimeout ( done , 100 ) ;
158- } ) ;
159-
160- client2 . emit ( "do broadcast" ) ;
161-
162- client1 . on ( "broadcast" , ( ) => {
163- throw new Error ( "Not in room" ) ;
164- } ) ;
107+ client1 . on ( "broadcast" , shouldNotHappen ( done ) ) ;
108+ done ( ) ;
165109 } ) ;
166110
167111 it ( "deletes rooms upon disconnection" , ( done ) => {
168112 socket1 . join ( "woot" ) ;
169113 socket1 . on ( "disconnect" , ( ) => {
114+ // @ts -ignore
170115 expect ( socket1 . adapter . sids [ socket1 . id ] ) . to . be ( undefined ) ;
116+ // @ts -ignore
171117 expect ( socket1 . adapter . rooms ) . to . be . empty ( ) ;
172118 client1 . disconnect ( ) ;
173119 done ( ) ;
@@ -327,6 +273,7 @@ const shouldNotHappen = (done) => () => done(new Error("should not happen"));
327273 describe ( "fetchSockets" , ( ) => {
328274 it ( "returns all socket instances" , async ( ) => {
329275 socket2 . data = "test" ;
276+ // @ts -ignore
330277 socket2 . handshake . sessionStore = "not included" ;
331278
332279 const sockets = await namespace1 . fetchSockets ( ) ;
@@ -340,6 +287,7 @@ const shouldNotHappen = (done) => () => done(new Error("should not happen"));
340287 ( socket ) => socket . id === socket2 . id
341288 ) ;
342289 expect ( remoteSocket2 === socket2 ) . to . be ( false ) ;
290+ // @ts -ignore
343291 delete socket2 . handshake . sessionStore ;
344292 expect ( remoteSocket2 . handshake ) . to . eql ( socket2 . handshake ) ;
345293 expect ( remoteSocket2 . data ) . to . eql ( "test" ) ;
0 commit comments