public function testGetRoutesByNames() { $this->buildRoutes(); $routeNames = array(self::ROUTE_ROOT . '/testroute/noroute/child', self::ROUTE_ROOT . '/testroute/noroute', self::ROUTE_ROOT . '/testroute/', self::ROUTE_ROOT . '/testroute'); $routes = $this->repository->getRoutesByNames($routeNames); $this->assertCount(2, $routes); $this->assertContainsOnlyInstancesOf('Symfony\\Cmf\\Component\\Routing\\RouteObjectInterface', $routes); }
/** * @return array */ protected function getPrefixes() { return $this->candidates->getPrefixes(); }
/** * Use getRouteByName() with two different document managers. * The two document managers will return different route objects when searching for the same path. */ public function testChangingDocumentManager() { $this->routeMock->expects($this->any())->method('getPath')->will($this->returnValue('/cms/routes/test-route')); $this->route2Mock->expects($this->any())->method('getPath')->will($this->returnValue('/cms/routes/new-route')); $this->dmMock->expects($this->any())->method('find')->with(null, '/cms/routes/test-route')->will($this->returnValue($this->routeMock)); $this->dm2Mock->expects($this->any())->method('find')->with(null, '/cms/routes/test-route')->will($this->returnValue($this->route2Mock)); $objectManagers = array('default' => $this->dmMock, 'new_manager' => $this->dm2Mock); $this->managerRegistryMock = $this->getMock('Doctrine\\Common\\Persistence\\ManagerRegistry'); $this->managerRegistryMock->expects($this->any())->method('getManager')->will($this->returnCallback(function ($name) use($objectManagers) { return $objectManagers[$name]; })); $this->candidatesMock->expects($this->any())->method('isCandidate')->will($this->returnValue(true)); $routeProvider = new RouteProvider($this->managerRegistryMock, $this->candidatesMock); $routeProvider->setManagerName('default'); $foundRoute = $routeProvider->getRouteByName('/cms/routes/test-route'); $this->assertInstanceOf('Symfony\\Component\\Routing\\Route', $foundRoute); $this->assertEquals('/cms/routes/test-route', $foundRoute->getPath()); $routeProvider->setManagerName('new_manager'); $newFoundRoute = $routeProvider->getRouteByName('/cms/routes/test-route'); $this->assertInstanceOf('Symfony\\Component\\Routing\\Route', $newFoundRoute); $this->assertEquals('/cms/routes/new-route', $newFoundRoute->getPath()); }