/**
  * @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());
 }
示例#3
0
 /**
  * @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());
 }
示例#4
0
 /**
  * Get help link
  *
  * @return bool
  */
 public function getHelpLinkUrl()
 {
     return $this->linkProvider->getHelpLinkUrl();
 }