From 36263ba3dee3af2cfcde3724dc2e30c5aaf6dde7 Mon Sep 17 00:00:00 2001 From: PJ Dietz Date: Sat, 9 May 2015 18:36:04 -0400 Subject: [PATCH] Update routes to match new MiddlewareInterface --- src/Routing/Route/RegexRoute.php | 4 ++-- src/Routing/Route/Route.php | 4 ++-- test/tests/unit/Routing/Route/RegexRouteTest.php | 6 ++++-- test/tests/unit/Routing/Route/RouteTest.php | 6 +++++- test/tests/unit/Routing/Route/TemplateRouteTest.php | 13 ++++++++----- 5 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/Routing/Route/RegexRoute.php b/src/Routing/Route/RegexRoute.php index 3b55b6b..2804885 100644 --- a/src/Routing/Route/RegexRoute.php +++ b/src/Routing/Route/RegexRoute.php @@ -31,11 +31,11 @@ class RegexRoute extends Route return false; } - public function dispatch(ServerRequestInterface $request, ResponseInterface &$response) + public function dispatch(ServerRequestInterface $request, ResponseInterface $response, $next) { if ($this->captures) { $request = $request->withAttribute("path", $this->captures); } - parent::dispatch($request, $response); + return parent::dispatch($request, $response, $next); } } diff --git a/src/Routing/Route/Route.php b/src/Routing/Route/Route.php index 4e04d0e..875df79 100644 --- a/src/Routing/Route/Route.php +++ b/src/Routing/Route/Route.php @@ -37,8 +37,8 @@ abstract class Route implements RouteInterface return $this->target; } - public function dispatch(ServerRequestInterface $request, ResponseInterface &$response) + public function dispatch(ServerRequestInterface $request, ResponseInterface $response, $next) { - $this->methodMap->dispatch($request, $response); + return $this->methodMap->dispatch($request, $response, $next); } } diff --git a/test/tests/unit/Routing/Route/RegexRouteTest.php b/test/tests/unit/Routing/Route/RegexRouteTest.php index cc31d0d..9576ad3 100644 --- a/test/tests/unit/Routing/Route/RegexRouteTest.php +++ b/test/tests/unit/Routing/Route/RegexRouteTest.php @@ -47,11 +47,13 @@ class RegexRouteTest extends \PHPUnit_Framework_TestCase $request = $this->prophesize('Psr\Http\Message\ServerRequestInterface'); $request->withAttribute(Argument::cetera())->willReturn($request->reveal()); $response = $this->prophesize('Psr\Http\Message\ResponseInterface'); - $responseReveal = $response->reveal(); + $next = function ($request, $response) { + return $response; + }; $route = new RegexRoute($pattern, $this->methodMap->reveal()); $route->matchesRequestTarget($path); - $route->dispatch($request->reveal(), $responseReveal); + $route->dispatch($request->reveal(), $response->reveal(), $next); $request->withAttribute("path", $expectedCaptures)->shouldHaveBeenCalled(); } diff --git a/test/tests/unit/Routing/Route/RouteTest.php b/test/tests/unit/Routing/Route/RouteTest.php index 358b1d2..fd988fd 100644 --- a/test/tests/unit/Routing/Route/RouteTest.php +++ b/test/tests/unit/Routing/Route/RouteTest.php @@ -7,6 +7,7 @@ use Prophecy\Argument; /** * @coversDefaultClass WellRESTed\Routing\Route\Route * @uses WellRESTed\Routing\Route\Route + * @group route */ class RouteTest extends \PHPUnit_Framework_TestCase { @@ -60,7 +61,10 @@ class RouteTest extends \PHPUnit_Framework_TestCase $request = $this->prophesize('Psr\Http\Message\ServerRequestInterface')->reveal(); $response = $this->prophesize('Psr\Http\Message\ResponseInterface')->reveal(); - $route->dispatch($request, $response); + $next = function ($request, $response) { + return $response; + }; + $route->dispatch($request, $response, $next); $methodMap->dispatch(Argument::cetera())->shouldHaveBeenCalled(); } diff --git a/test/tests/unit/Routing/Route/TemplateRouteTest.php b/test/tests/unit/Routing/Route/TemplateRouteTest.php index 0a89102..703fcbd 100644 --- a/test/tests/unit/Routing/Route/TemplateRouteTest.php +++ b/test/tests/unit/Routing/Route/TemplateRouteTest.php @@ -46,11 +46,13 @@ class TemplateRouteTest extends \PHPUnit_Framework_TestCase $request = $this->prophesize('Psr\Http\Message\ServerRequestInterface'); $request->withAttribute(Argument::cetera())->willReturn($request->reveal()); $response = $this->prophesize('Psr\Http\Message\ResponseInterface'); - $responseReveal = $response->reveal(); + $next = function ($request, $response) { + return $response; + }; $route = new TemplateRoute($template, $this->methodMap->reveal()); $route->matchesRequestTarget($path); - $route->dispatch($request->reveal(), $responseReveal); + $route->dispatch($request->reveal(), $response->reveal(), $next); $request->withAttribute("path", Argument::that(function ($path) use ($expectedCaptures) { return array_intersect_assoc($path, $expectedCaptures) == $expectedCaptures; @@ -100,11 +102,12 @@ class TemplateRouteTest extends \PHPUnit_Framework_TestCase $request = $this->prophesize('Psr\Http\Message\ServerRequestInterface'); $request->withAttribute(Argument::cetera())->willReturn($request->reveal()); $response = $this->prophesize('Psr\Http\Message\ResponseInterface'); - $responseReveal = $response->reveal(); - + $next = function ($request, $response) { + return $response; + }; $route = new TemplateRoute($template, $this->methodMap->reveal()); $route->matchesRequestTarget($path); - $route->dispatch($request->reveal(), $responseReveal); + $route->dispatch($request->reveal(), $response->reveal(), $next); $request->withAttribute("path", Argument::that(function ($path) use ($expectedCaptures) { return array_intersect_assoc($path, $expectedCaptures) == $expectedCaptures;