Esempio n. 1
0
 /**
  * Adds a route collection to the current set of routes (at the end of the current set).
  *
  * @param RouteCollection $collection A RouteCollection instance
  * @param string          $prefix     An optional prefix to add before each pattern of the route collection
  */
 public function addCollection(RouteCollection $collection, $prefix = '')
 {
     $collection->addPrefix($prefix);
     foreach ($collection->getResources() as $resource) {
         $this->addResource($resource);
     }
     $this->routes = array_merge($this->routes, $collection->getRoutes());
 }
Esempio n. 2
0
 public function testAddCollection()
 {
     $collection = new RouteCollection();
     $collection->addRoute('foo', $foo = new Route('/foo'));
     $collection1 = new RouteCollection();
     $collection1->addRoute('foo', $foo1 = new Route('/foo1'));
     $collection1->addRoute('bar', $bar1 = new Route('/bar1'));
     $collection->addCollection($collection1);
     $this->assertEquals(array('foo' => $foo1, 'bar' => $bar1), $collection->getRoutes(), '->addCollection() adds routes from another collection');
     $collection = new RouteCollection();
     $collection->addRoute('foo', $foo = new Route('/foo'));
     $collection1 = new RouteCollection();
     $collection1->addRoute('foo', $foo1 = new Route('/foo1'));
     $collection->addCollection($collection1, '/foo');
     $this->assertEquals('/foo/foo1', $collection->getRoute('foo')->getPattern(), '->addCollection() can add a prefix to all merged routes');
     $collection = new RouteCollection();
     $collection->addResource($foo = new FileResource(__DIR__ . '/Fixtures/foo.xml'));
     $collection1 = new RouteCollection();
     $collection1->addResource($foo1 = new FileResource(__DIR__ . '/Fixtures/foo1.xml'));
     $collection->addCollection($collection1);
     $this->assertEquals(array($foo, $foo1), $collection->getResources(), '->addCollection() merges resources');
 }
$t->diag('->getRoute() ->addRoute() ->getRoutes()');
$collection = new RouteCollection();
$route = new Route('/foo');
$collection->addRoute('foo', $route);
$t->is($collection->getRoutes(), array('foo' => $route), '->addRoute() adds a route');
$t->is($collection->getRoute('foo'), $route, '->getRoute() returns a route by name');
$t->is($collection->getRoute('bar'), null, '->getRoute() returns null if a route does not exist');
// ->addCollection()
$t->diag('->addCollection()');
$collection = new RouteCollection();
$collection->addRoute('foo', $foo = new Route('/foo'));
$collection1 = new RouteCollection();
$collection1->addRoute('foo', $foo1 = new Route('/foo1'));
$collection1->addRoute('bar', $bar1 = new Route('/bar1'));
$collection->addCollection($collection1);
$t->is($collection->getRoutes(), array('foo' => $foo1, 'bar' => $bar1), '->addCollection() adds routes from another collection');
$collection = new RouteCollection();
$collection->addRoute('foo', $foo = new Route('/foo'));
$collection1 = new RouteCollection();
$collection1->addRoute('foo', $foo1 = new Route('/foo1'));
$collection->addCollection($collection1, '/foo');
$t->is($collection->getRoute('foo')->getPattern(), '/foo/foo1', '->addCollection() can add a prefix to all merged routes');
$collection = new RouteCollection();
$collection->addResource($foo = new FileResource('foo'));
$collection1 = new RouteCollection();
$collection1->addResource($foo1 = new FileResource('foo1'));
$collection->addCollection($collection1);
$t->is($collection->getResources(), array($foo, $foo1), '->addCollection() merges resources');
// ->addPrefix()
$t->diag('->addPrefix()');
$collection = new RouteCollection();