You are here

class PhpFileLoaderTest in Zircon Profile 8

Same name in this branch
  1. 8 vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php \Symfony\Component\Routing\Tests\Loader\PhpFileLoaderTest
  2. 8 vendor/symfony/translation/Tests/Loader/PhpFileLoaderTest.php \Symfony\Component\Translation\Tests\Loader\PhpFileLoaderTest
  3. 8 vendor/symfony/dependency-injection/Tests/Loader/PhpFileLoaderTest.php \Symfony\Component\DependencyInjection\Tests\Loader\PhpFileLoaderTest
Same name and namespace in other branches
  1. 8.0 vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php \Symfony\Component\Routing\Tests\Loader\PhpFileLoaderTest

Hierarchy

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

Expanded class hierarchy of PhpFileLoaderTest

File

vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php, line 17

Namespace

Symfony\Component\Routing\Tests\Loader
View source
class PhpFileLoaderTest extends \PHPUnit_Framework_TestCase {
  public function testSupports() {
    $loader = new PhpFileLoader($this
      ->getMock('Symfony\\Component\\Config\\FileLocator'));
    $this
      ->assertTrue($loader
      ->supports('foo.php'), '->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.php', 'php'), '->supports() checks the resource type if specified');
    $this
      ->assertFalse($loader
      ->supports('foo.php', 'foo'), '->supports() checks the resource type if specified');
  }
  public function testLoadWithRoute() {
    $loader = new PhpFileLoader(new FileLocator(array(
      __DIR__ . '/../Fixtures',
    )));
    $routeCollection = $loader
      ->load('validpattern.php');
    $routes = $routeCollection
      ->all();
    $this
      ->assertCount(1, $routes, 'One route is loaded');
    $this
      ->assertContainsOnly('Symfony\\Component\\Routing\\Route', $routes);
    foreach ($routes as $route) {
      $this
        ->assertSame('/blog/{slug}', $route
        ->getPath());
      $this
        ->assertSame('MyBlogBundle:Blog:show', $route
        ->getDefault('_controller'));
      $this
        ->assertSame('{locale}.example.com', $route
        ->getHost());
      $this
        ->assertSame('RouteCompiler', $route
        ->getOption('compiler_class'));
      $this
        ->assertEquals(array(
        'GET',
        'POST',
        'PUT',
        'OPTIONS',
      ), $route
        ->getMethods());
      $this
        ->assertEquals(array(
        'https',
      ), $route
        ->getSchemes());
    }
  }
  public function testLoadWithImport() {
    $loader = new PhpFileLoader(new FileLocator(array(
      __DIR__ . '/../Fixtures',
    )));
    $routeCollection = $loader
      ->load('validresource.php');
    $routes = $routeCollection
      ->all();
    $this
      ->assertCount(1, $routes, 'One route is loaded');
    $this
      ->assertContainsOnly('Symfony\\Component\\Routing\\Route', $routes);
    foreach ($routes as $route) {
      $this
        ->assertSame('/prefix/blog/{slug}', $route
        ->getPath());
      $this
        ->assertSame('MyBlogBundle:Blog:show', $route
        ->getDefault('_controller'));
      $this
        ->assertSame('{locale}.example.com', $route
        ->getHost());
      $this
        ->assertSame('RouteCompiler', $route
        ->getOption('compiler_class'));
      $this
        ->assertEquals(array(
        'GET',
        'POST',
        'PUT',
        'OPTIONS',
      ), $route
        ->getMethods());
      $this
        ->assertEquals(array(
        'https',
      ), $route
        ->getSchemes());
    }
  }
  public function testThatDefiningVariableInConfigFileHasNoSideEffects() {
    $locator = new FileLocator(array(
      __DIR__ . '/../Fixtures',
    ));
    $loader = new PhpFileLoader($locator);
    $routeCollection = $loader
      ->load('with_define_path_variable.php');
    $resources = $routeCollection
      ->getResources();
    $this
      ->assertCount(1, $resources);
    $this
      ->assertContainsOnly('Symfony\\Component\\Config\\Resource\\ResourceInterface', $resources);
    $fileResource = reset($resources);
    $this
      ->assertSame(realpath($locator
      ->locate('with_define_path_variable.php')), (string) $fileResource);
  }

}

Members