public function AnnotationClassLoaderTest::testLoad

@dataProvider getLoadTests

File

drupal/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php, line 88

Class

AnnotationClassLoaderTest

Namespace

Symfony\Component\Routing\Tests\Loader

Code

public function testLoad($className, $routeDatas = array(), $methodArgs = array()) {
  $routeDatas = array_replace(array(
    'name' => 'route',
    'path' => '/',
    'requirements' => array(),
    'options' => array(),
    'defaults' => array(),
    'schemes' => array(),
    'methods' => array(),
  ), $routeDatas);
  $this->reader
    ->expects($this
    ->once())
    ->method('getMethodAnnotations')
    ->will($this
    ->returnValue(array(
    $this
      ->getAnnotatedRoute($routeDatas),
  )));
  $routeCollection = $this->loader
    ->load($className);
  $route = $routeCollection
    ->get($routeDatas['name']);
  $this
    ->assertSame($routeDatas['path'], $route
    ->getPath(), '->load preserves path annotation');
  $this
    ->assertSame($routeDatas['requirements'], $route
    ->getRequirements(), '->load preserves requirements annotation');
  $this
    ->assertCount(0, array_intersect($route
    ->getOptions(), $routeDatas['options']), '->load preserves options annotation');
  $this
    ->assertSame(array_replace($routeDatas['defaults'], $methodArgs), $route
    ->getDefaults(), '->load preserves defaults annotation');
}