public setSiteAccessRouter ( eZ\Publish\Core\MVC\Symfony\SiteAccess\SiteAccessRouterInterface $siteAccessRouter ) | ||
$siteAccessRouter | eZ\Publish\Core\MVC\Symfony\SiteAccess\SiteAccessRouterInterface |
public function testGenerateReverseSiteAccessMatch() { $routeName = 'some_route_name'; $urlGenerated = 'http://phoenix-rises.fm/foo/bar'; $siteAccessName = 'foo_test'; $siteAccessRouter = $this->getMock('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\SiteAccessRouterInterface'); $versatileMatcher = $this->getMock('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\VersatileMatcher'); $simplifiedRequest = new SimplifiedRequest(array('host' => 'phoenix-rises.fm', 'scheme' => 'http')); $versatileMatcher->expects($this->once())->method('getRequest')->will($this->returnValue($simplifiedRequest)); $siteAccessRouter->expects($this->once())->method('matchByName')->with($siteAccessName)->will($this->returnValue(new SiteAccess($siteAccessName, 'foo', $versatileMatcher))); $generator = $this->getMock('Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface'); $generator->expects($this->at(0))->method('setContext')->with($this->isInstanceOf('Symfony\\Component\\Routing\\RequestContext')); $generator->expects($this->at(1))->method('generate')->with($routeName)->will($this->returnValue($urlGenerated)); $generator->expects($this->at(2))->method('setContext')->with($this->requestContext); $router = new DefaultRouter($this->container, 'foo', array(), $this->requestContext); $router->setConfigResolver($this->configResolver); $router->setSiteAccess(new SiteAccess('test', 'test', $this->getMock('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\Matcher'))); $router->setSiteAccessRouter($siteAccessRouter); $refRouter = new ReflectionObject($router); $refGenerator = $refRouter->getProperty('generator'); $refGenerator->setAccessible(true); $refGenerator->setValue($router, $generator); $this->assertSame($urlGenerated, $router->generate($routeName, array('siteaccess' => $siteAccessName), DefaultRouter::ABSOLUTE_PATH)); }