/** * @param FilterControllerEvent $event */ public function onKernelController(FilterControllerEvent $event) { if (HttpKernel::MASTER_REQUEST == $event->getRequestType()) { $this->linkProvider->setRequest($event->getRequest()); } return; }
/** * @dataProvider configurationDataProvider * @param array $configuration * @param array $requestAttributes * @param array $parserResults * @param string $expectedLink */ public function testGetHelpLinkUrl(array $configuration, array $requestAttributes, array $parserResults, $expectedLink) { $parser = $this->getMockBuilder('Symfony\\Bundle\\FrameworkBundle\\Controller\\ControllerNameParser')->disableOriginalConstructor()->getMock(); if (isset($parserResults['buildResult'])) { $this->assertArrayHasKey('_controller', $requestAttributes); $parser->expects($this->once())->method('build')->with($requestAttributes['_controller'])->will($this->returnValue($parserResults['buildResult'])); } elseif (isset($parserResults['parseResult'])) { $this->assertArrayHasKey('_controller', $requestAttributes); $parser->expects($this->once())->method('parse')->with($requestAttributes['_controller'])->will($this->returnValue($parserResults['parseResult'])); } else { $parser->expects($this->never())->method($this->anything()); } $provider = new HelpLinkProvider($parser); $provider->setConfiguration($configuration); $request = new Request(); $request->attributes->add($requestAttributes); $provider->setRequest($request); $this->assertEquals($expectedLink, $provider->getHelpLinkUrl()); }
/** * @dataProvider configurationDataProvider * @param array $configuration * @param array $requestAttributes * @param array $parserResults * @param string $expectedLink * @param bool $hasCache */ public function testGetHelpLinkUrl(array $configuration, array $requestAttributes, array $parserResults, $expectedLink, $hasCache = false) { if (isset($parserResults['buildResult'])) { $this->assertArrayHasKey('_controller', $requestAttributes); $this->parser->expects($this->once())->method('build')->with($requestAttributes['_controller'])->will($this->returnValue($parserResults['buildResult'])); } elseif (isset($parserResults['parseResult'])) { $this->assertArrayHasKey('_controller', $requestAttributes); $this->parser->expects($this->once())->method('parse')->with($requestAttributes['_controller'])->will($this->returnValue($parserResults['parseResult'])); } else { $this->parser->expects($this->never())->method($this->anything()); } $this->helper->expects($this->any())->method('getVersion')->will($this->returnValue(self::VERSION)); $this->provider->setConfiguration($configuration); $request = new Request(); $request->attributes->add($requestAttributes); $this->provider->setRequest($request); if ($hasCache) { $cache = $this->getMockBuilder('Doctrine\\Common\\Cache\\CacheProvider')->disableOriginalConstructor()->setMethods(array('save'))->getMockForAbstractClass(); $cache->expects($this->once())->method('save')->with($requestAttributes['_route'], $expectedLink); $this->provider->setCache($cache); } $this->assertEquals($expectedLink, $this->provider->getHelpLinkUrl()); }
/** * Get help link * * @return bool */ public function getHelpLinkUrl() { return $this->linkProvider->getHelpLinkUrl(); }