public function testAddCollection() {
if (!class_exists('Symfony\\Component\\Config\\Resource\\FileResource')) {
$this
->markTestSkipped('The "Config" component is not available');
}
$collection = new RouteCollection();
$collection
->add('foo', $foo = new Route('/foo'));
$collection1 = new RouteCollection();
$collection1
->add('foo', $foo1 = new Route('/foo1'));
$collection1
->add('bar', $bar1 = new Route('/bar1'));
$collection
->addCollection($collection1);
$this
->assertEquals(array(
'foo' => $foo1,
'bar' => $bar1,
), $collection
->all(), '->addCollection() adds routes from another collection');
$collection = new RouteCollection();
$collection
->add('foo', $foo = new Route('/foo'));
$collection1 = new RouteCollection();
$collection1
->add('foo', $foo1 = new Route('/foo1'));
$collection
->addCollection($collection1, '/{foo}', array(
'foo' => 'foo',
), array(
'foo' => '\\d+',
), array(
'foo' => 'bar',
));
$this
->assertEquals('/{foo}/foo1', $collection
->get('foo')
->getPattern(), '->addCollection() can add a prefix to all merged routes');
$this
->assertEquals(array(
'foo' => 'foo',
), $collection
->get('foo')
->getDefaults(), '->addCollection() can add a prefix to all merged routes');
$this
->assertEquals(array(
'foo' => '\\d+',
), $collection
->get('foo')
->getRequirements(), '->addCollection() can add a prefix to all merged routes');
$this
->assertEquals(array(
'foo' => 'bar',
'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler',
), $collection
->get('foo')
->getOptions(), '->addCollection() can add an option 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');
}