@@ -31,6 +31,43 @@ public function testEmptyMiddlewareStackThrowsException()
3131 $ middlewareStack ($ request );
3232 }
3333
34+ public function testMiddlewareHandlerReceivesTwoArguments ()
35+ {
36+ $ args = null ;
37+ $ middleware = new MiddlewareRunner (array (
38+ function (ServerRequestInterface $ request , $ next ) use (&$ args ) {
39+ $ args = func_num_args ();
40+ return $ next ($ request );
41+ },
42+ function (ServerRequestInterface $ request ) {
43+ return null ;
44+ }
45+ ));
46+
47+ $ request = new ServerRequest ('GET ' , 'http://example.com/ ' );
48+
49+ $ middleware ($ request );
50+
51+ $ this ->assertEquals (2 , $ args );
52+ }
53+
54+ public function testFinalHandlerReceivesOneArgument ()
55+ {
56+ $ args = null ;
57+ $ middleware = new MiddlewareRunner (array (
58+ function (ServerRequestInterface $ request ) use (&$ args ) {
59+ $ args = func_num_args ();
60+ return null ;
61+ }
62+ ));
63+
64+ $ request = new ServerRequest ('GET ' , 'http://example.com/ ' );
65+
66+ $ middleware ($ request );
67+
68+ $ this ->assertEquals (1 , $ args );
69+ }
70+
3471 /**
3572 * @expectedException RuntimeException
3673 * @expectedExceptionMessage hello
@@ -224,7 +261,7 @@ function (ServerRequestInterface $request, $next) use (&$receivedRequests) {
224261 $ receivedRequests [] = 'middleware2: ' . $ request ->getUri ();
225262 return $ next ($ request );
226263 },
227- function (ServerRequestInterface $ request, $ next ) use (&$ receivedRequests ) {
264+ function (ServerRequestInterface $ request ) use (&$ receivedRequests ) {
228265 $ receivedRequests [] = 'middleware3: ' . $ request ->getUri ();
229266 return new \React \Promise \Promise (function () { });
230267 }
0 commit comments