@@ -112,6 +112,26 @@ public function testWrongPathHandshake($path, $request)
112
112
$ connection ->handshake ($ request );
113
113
}
114
114
115
+ /**
116
+ * @dataProvider getValidHandleData
117
+ */
118
+ public function testHandle ($ path , $ request_handshake , array $ requests )
119
+ {
120
+ $ connection = $ this ->getConnectionForHandshake (
121
+ $ this ->getConnectedSocket (),
122
+ $ path ,
123
+ $ request_handshake
124
+ );
125
+
126
+ $ connection ->handshake ($ request_handshake );
127
+
128
+ foreach ($ requests as $ request ) {
129
+ $ connection ->handle ($ request );
130
+ }
131
+
132
+ return $ connection ;
133
+ }
134
+
115
135
/**
116
136
* @return Socket
117
137
*/
@@ -163,6 +183,16 @@ protected function getConnectionForHandshake($socket, $path, $request)
163
183
return $ connection ;
164
184
}
165
185
186
+ protected function getConnectionForHandle ($ socket , $ path , $ request )
187
+ {
188
+ $ connection = $ this ->getConnectionForHandshake ($ socket , $ path , $ request );
189
+
190
+ $ valid = $ this ->getValidHandshakeData ();
191
+
192
+
193
+ return $ connection ;
194
+ }
195
+
166
196
/**
167
197
* @return ConnectionManager
168
198
*/
@@ -239,6 +269,31 @@ public function getValidConstructorArguments()
239
269
);
240
270
}
241
271
272
+ /**
273
+ * Data provider
274
+ */
275
+ public function getValidHandleData ()
276
+ {
277
+ $ data = array ();
278
+
279
+ $ valid_requests = array (
280
+ array ('foobar ' ),
281
+ array ('foo ' , 'bar ' )
282
+ );
283
+
284
+ $ handshakes = $ this ->getValidHandshakeData ();
285
+
286
+ foreach ($ handshakes as $ handshake ) {
287
+ foreach ($ valid_requests as $ requests ) {
288
+ $ arguments = $ handshake ;
289
+ $ arguments [] = $ requests ;
290
+ $ data [] = $ arguments ;
291
+ }
292
+ }
293
+
294
+ return $ data ;
295
+ }
296
+
242
297
/**
243
298
* Data provider
244
299
*/
0 commit comments