public function onDidFindRouteForRequest(DidFindRouteForRequest $event)
 {
     $route = $event->getRoute();
     $controllerClass = $route->getControllerClass();
     $request = $event->getRequest();
     return $this->willRespondToRequest($controllerClass, $request);
 }
Exemple #2
0
 /**
  * @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);
 }