/** * @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); }
/** * @covers \Splot\Framework\Events\DidNotFindRouteForRequest::__construct * @covers \Splot\Framework\Events\DidNotFindRouteForRequest::getRequest * @covers \Splot\Framework\Events\DidNotFindRouteForRequest::isHandled * @covers \Splot\Framework\Events\DidNotFindRouteForRequest::setResponse * @covers \Splot\Framework\Events\DidNotFindRouteForRequest::getResponse */ public function testDidNotFindRouteForRequest() { $request = Request::create('/test/'); $event = new Events\DidNotFindRouteForRequest($request); $this->assertSame($request, $event->getRequest()); $this->assertFalse($event->isHandled()); $response = new Response('some response'); $event->setResponse($response); $this->assertSame($response, $event->getResponse()); $this->assertTrue($event->isHandled()); }