class YamlFileLoaderTest

Same name in this branch

Hierarchy

  • class \Symfony\Component\Routing\Tests\Loader\YamlFileLoaderTest extends \Symfony\Component\Routing\Tests\Loader\PHPUnit_Framework_TestCase

Expanded class hierarchy of YamlFileLoaderTest

File

drupal/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php, line 19

Namespace

Symfony\Component\Routing\Tests\Loader
View source
class YamlFileLoaderTest extends \PHPUnit_Framework_TestCase {
  protected function setUp() {
    if (!class_exists('Symfony\\Component\\Config\\FileLocator')) {
      $this
        ->markTestSkipped('The "Config" component is not available');
    }
    if (!class_exists('Symfony\\Component\\Yaml\\Yaml')) {
      $this
        ->markTestSkipped('The "Yaml" component is not available');
    }
  }

  /**
   * @covers Symfony\Component\Routing\Loader\YamlFileLoader::supports
   */
  public function testSupports() {
    $loader = new YamlFileLoader($this
      ->getMock('Symfony\\Component\\Config\\FileLocator'));
    $this
      ->assertTrue($loader
      ->supports('foo.yml'), '->supports() returns true if the resource is loadable');
    $this
      ->assertFalse($loader
      ->supports('foo.foo'), '->supports() returns true if the resource is loadable');
    $this
      ->assertTrue($loader
      ->supports('foo.yml', 'yaml'), '->supports() checks the resource type if specified');
    $this
      ->assertFalse($loader
      ->supports('foo.yml', 'foo'), '->supports() checks the resource type if specified');
  }
  public function testLoadDoesNothingIfEmpty() {
    $loader = new YamlFileLoader(new FileLocator(array(
      __DIR__ . '/../Fixtures',
    )));
    $collection = $loader
      ->load('empty.yml');
    $this
      ->assertEquals(array(), $collection
      ->all());
    $this
      ->assertEquals(array(
      new FileResource(realpath(__DIR__ . '/../Fixtures/empty.yml')),
    ), $collection
      ->getResources());
  }

  /**
   * @expectedException \InvalidArgumentException
   */
  public function testLoadThrowsExceptionIfNotAnArray() {
    $loader = new YamlFileLoader(new FileLocator(array(
      __DIR__ . '/../Fixtures',
    )));
    $loader
      ->load('nonvalid.yml');
  }

  /**
   * @expectedException \InvalidArgumentException
   */
  public function testLoadThrowsExceptionIfArrayHasUnsupportedKeys() {
    $loader = new YamlFileLoader(new FileLocator(array(
      __DIR__ . '/../Fixtures',
    )));
    $loader
      ->load('nonvalidkeys.yml');
  }

  /**
   * @expectedException \InvalidArgumentException
   */
  public function testLoadThrowsExceptionWhenIncomplete() {
    $loader = new YamlFileLoader(new FileLocator(array(
      __DIR__ . '/../Fixtures',
    )));
    $loader
      ->load('incomplete.yml');
  }
  public function testLoadWithPattern() {
    $loader = new YamlFileLoader(new FileLocator(array(
      __DIR__ . '/../Fixtures',
    )));
    $routeCollection = $loader
      ->load('validpattern.yml');
    $routes = $routeCollection
      ->all();
    $this
      ->assertEquals(1, count($routes), 'One route is loaded');
    $this
      ->assertContainsOnly('Symfony\\Component\\Routing\\Route', $routes);
    $route = $routes['blog_show'];
    $this
      ->assertEquals('RouteCompiler', $route
      ->getOption('compiler_class'));
  }
  public function testLoadWithResource() {
    $loader = new YamlFileLoader(new FileLocator(array(
      __DIR__ . '/../Fixtures',
    )));
    $routeCollection = $loader
      ->load('validresource.yml');
    $routes = $routeCollection
      ->all();
    $this
      ->assertEquals(1, count($routes), 'One route is loaded');
    $this
      ->assertContainsOnly('Symfony\\Component\\Routing\\Route', $routes);
    $this
      ->assertEquals('foo', $routes['blog_show']
      ->getDefault('foo'));
    $this
      ->assertEquals('\\d+', $routes['blog_show']
      ->getRequirement('foo'));
    $this
      ->assertEquals('bar', $routes['blog_show']
      ->getOption('foo'));
  }

  /**
   * @expectedException \InvalidArgumentException
   */
  public function testParseRouteThrowsExceptionWithMissingPattern() {
    $loader = new YamlFileLoader(new FileLocator(array(
      __DIR__ . '/../Fixtures',
    )));
    $loader
      ->load('incomplete.yml');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
YamlFileLoaderTest::setUp protected function
YamlFileLoaderTest::testLoadDoesNothingIfEmpty public function
YamlFileLoaderTest::testLoadThrowsExceptionIfArrayHasUnsupportedKeys public function @expectedException \InvalidArgumentException
YamlFileLoaderTest::testLoadThrowsExceptionIfNotAnArray public function @expectedException \InvalidArgumentException
YamlFileLoaderTest::testLoadThrowsExceptionWhenIncomplete public function @expectedException \InvalidArgumentException
YamlFileLoaderTest::testLoadWithPattern public function
YamlFileLoaderTest::testLoadWithResource public function
YamlFileLoaderTest::testParseRouteThrowsExceptionWithMissingPattern public function @expectedException \InvalidArgumentException
YamlFileLoaderTest::testSupports public function @covers Symfony\Component\Routing\Loader\YamlFileLoader::supports