/**
  * @param GetResponseEvent $event
  *
  * @return GetResponseEvent
  */
 public function onKernelRequest(GetResponseEvent $event)
 {
     try {
         $this->routerListener->onKernelRequest($event);
     } catch (NotFoundHttpException $e) {
         if (null !== $this->logger) {
             $this->logger->info('Request handled by the ' . $this->legacyKernel->getName() . ' kernel.');
         }
         $response = $this->legacyKernel->handle($event->getRequest(), $event->getRequestType(), true);
         if ($response->getStatusCode() !== 404) {
             $event->setResponse($response);
             return $event;
         }
     }
 }
 public function testLegacyKernelShouldHandleTheRequest()
 {
     $request = new Request();
     $response = new Response();
     $httpKernel = $this->prophesize('Symfony\\Component\\HttpKernel\\HttpKernelInterface');
     $event = new GetResponseEvent($httpKernel->reveal(), $request, HttpKernel::MASTER_REQUEST);
     $baseRouterListener = $this->prophesize('Symfony\\Component\\HttpKernel\\EventListener\\RouterListener');
     $baseRouterListener->onKernelRequest($event)->willThrow('Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException');
     $kernel = $this->prophesize('Theodo\\Evolution\\Bundle\\LegacyWrapperBundle\\Kernel\\LegacyKernelInterface');
     $kernel->handle($request, HttpKernel::MASTER_REQUEST, true)->willReturn($response);
     $routerListener = new \Theodo\Evolution\Bundle\LegacyWrapperBundle\EventListener\RouterListener($kernel->reveal(), $baseRouterListener->reveal());
     $routerListener->onKernelRequest($event);
     $this->assertEquals($response, $event->getResponse());
 }