public function RouteCollectionTest::testAddPrefix

File

drupal/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCollectionTest.php, line 139

Class

RouteCollectionTest

Namespace

Symfony\Component\Routing\Tests

Code

public function testAddPrefix() {
  $collection = new RouteCollection();
  $collection
    ->add('foo', $foo = new Route('/foo'));
  $collection
    ->add('bar', $bar = new Route('/bar'));
  $collection
    ->addPrefix('/{admin}', array(
    'admin' => 'admin',
  ), array(
    'admin' => '\\d+',
  ), array(
    'foo' => 'bar',
  ));
  $this
    ->assertEquals('/{admin}/foo', $collection
    ->get('foo')
    ->getPattern(), '->addPrefix() adds a prefix to all routes');
  $this
    ->assertEquals('/{admin}/bar', $collection
    ->get('bar')
    ->getPattern(), '->addPrefix() adds a prefix to all routes');
  $this
    ->assertEquals(array(
    'admin' => 'admin',
  ), $collection
    ->get('foo')
    ->getDefaults(), '->addPrefix() adds a prefix to all routes');
  $this
    ->assertEquals(array(
    'admin' => 'admin',
  ), $collection
    ->get('bar')
    ->getDefaults(), '->addPrefix() adds a prefix to all routes');
  $this
    ->assertEquals(array(
    'admin' => '\\d+',
  ), $collection
    ->get('foo')
    ->getRequirements(), '->addPrefix() adds a prefix to all routes');
  $this
    ->assertEquals(array(
    'admin' => '\\d+',
  ), $collection
    ->get('bar')
    ->getRequirements(), '->addPrefix() adds a prefix to all routes');
  $this
    ->assertEquals(array(
    'foo' => 'bar',
    'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler',
  ), $collection
    ->get('foo')
    ->getOptions(), '->addPrefix() adds an option to all routes');
  $this
    ->assertEquals(array(
    'foo' => 'bar',
    'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler',
  ), $collection
    ->get('bar')
    ->getOptions(), '->addPrefix() adds an option to all routes');
  $collection
    ->addPrefix('0');
  $this
    ->assertEquals('/0/{admin}', $collection
    ->getPrefix(), '->addPrefix() ensures a prefix must start with a slash and must not end with a slash');
}