public function onDidFindRouteForRequest(DidFindRouteForRequest $event) { $route = $event->getRoute(); $controllerClass = $route->getControllerClass(); $request = $event->getRequest(); return $this->willRespondToRequest($controllerClass, $request); }
/** * @covers \Splot\Framework\Events\DidFindRouteForRequest::__construct * @covers \Splot\Framework\Events\DidFindRouteForRequest::getRoute * @covers \Splot\Framework\Events\DidFindRouteForRequest::getRequest */ public function testDidFindRouteForRequest() { $route = new Route('test_route', TestController::class, '/test/', array('get' => 'index')); $request = Request::create('/test/'); $event = new Events\DidFindRouteForRequest($route, $request); $this->assertSame($route, $event->getRoute()); $this->assertSame($request, $event->getRequest()); }
/** * @covers ::handleRequest */ public function testHandlingRequestAndPreventingRenderingOfTheFoundRouteAndHandlingThat() { $this->application->addTestModule(new SplotResponseTestModule()); $this->application->getContainer()->get('event_manager')->subscribe(DidFindRouteForRequest::getName(), function ($ev) { return false; }); $didNotFoundRouteForRequestCalled = false; $handledResponse = new Response('Handled 404'); $this->application->getContainer()->get('event_manager')->subscribe(DidNotFindRouteForRequest::getName(), function ($ev) use($handledResponse, &$didNotFoundRouteForRequestCalled) { $didNotFoundRouteForRequestCalled = true; $ev->setResponse($handledResponse); return false; }); $response = $this->application->handleRequest(Request::create('/')); $this->assertTrue($didNotFoundRouteForRequestCalled); $this->assertSame($response, $handledResponse); }