public function testWithRoute()
 {
     $view = $this->getMockBuilder(View::class)->disableOriginalConstructor()->getMock();
     $route = new Route();
     $route->setRoute('test_show');
     $route->setParams(array('foo' => 'bar'));
     $route->setParameterNames(array());
     $view->expects($this->atLeastOnce())->method('getLocation')->willReturn($route);
     $this->router = $this->getMockBuilder(Router::class)->disableOriginalConstructor()->getMock();
     $this->router->expects($this->once())->method('generate')->with('test_show', ['foo' => 'bar'])->willReturn('/test/show');
     $response = new Response();
     $event = $this->getEvent(new Request([], [], ['_template' => $view]), $response);
     $this->evaluator->expects($this->once())->method('evaluate')->with('bar', $event->getRequest()->attributes->all())->willReturn('bar');
     $listener = $this->getListener();
     $listener->onKernelResponse($event);
     $this->assertEquals($response, $event->getResponse());
     $this->assertEquals('/test/show', $response->headers->get('Location'));
 }