@@ -4,6 +4,7 @@ var http = require('http')
44var parallel = require ( 'run-parallel' )
55var SolidWs = require ( '../' )
66var EventEmitter = require ( 'events' ) . EventEmitter
7+ var utils = require ( './utils' )
78
89describe ( 'Solid-ws' , function ( ) {
910 var server = http . createServer ( )
@@ -111,59 +112,16 @@ describe('Solid-ws', function() {
111112 } )
112113
113114 var pubs = [ ]
114- var workflow = new EventEmitter ( )
115- workflow . on ( 'done' , function ( ) {
116- assert . equal ( pubs . length , users . length )
117- done ( )
118- } )
119115
120- connectAll ( clients , function ( ) {
121- ackAll ( clients , function ( ) {
122- pubAll ( clients , function ( ) {
116+ utils . connectAll ( clients , url , function ( ) {
117+ utils . ackAll ( clients , function ( ) {
118+ utils . pubAll ( clients , pubs , function ( ) {
119+ assert . equal ( pubs . length , users . length )
123120 done ( )
124121 } )
125122 pubsub . publish ( url )
126123 } )
127124 } )
128-
129- function connectAll ( clients , done ) {
130- parallel ( clients . map ( function ( client ) {
131- return function ( cb ) {
132- client . on ( 'open' , function ( ) {
133- client . send ( 'sub ' + url )
134- cb ( )
135- } )
136- }
137- } ) , done )
138- }
139-
140- function ackAll ( clients , done ) {
141- parallel ( clients . map ( function ( client ) {
142- return function ( cb ) {
143- client . on ( 'message' , function ( msg ) {
144- if ( msg . split ( ' ' ) [ 0 ] === 'ack' ) {
145- cb ( )
146- return ;
147- }
148- } )
149- }
150- } ) , done )
151- }
152-
153- function pubAll ( clients , done ) {
154- parallel ( clients . map ( function ( client ) {
155- return function ( cb ) {
156- client . on ( 'message' , function ( msg ) {
157- if ( msg . split ( ' ' ) [ 0 ] === 'pub' ) {
158- pubs . push ( msg )
159- cb ( )
160- return ;
161- }
162- } )
163- }
164- } ) , done )
165- }
166-
167125 } )
168126 } )
169127} )
0 commit comments