Вход Регистрация
Файл: src/vendor/symfony/routing/Tests/Loader/DirectoryLoaderTest.php
Строк: 87
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyComponentRoutingTestsLoader;

use 
SymfonyComponentRoutingLoaderDirectoryLoader;
use 
SymfonyComponentRoutingLoaderYamlFileLoader;
use 
SymfonyComponentRoutingLoaderAnnotationFileLoader;
use 
SymfonyComponentConfigLoaderLoaderResolver;
use 
SymfonyComponentConfigFileLocator;
use 
SymfonyComponentRoutingRouteCollection;

class 
DirectoryLoaderTest extends AbstractAnnotationLoaderTest
{
    private 
$loader;
    private 
$reader;

    protected function 
setUp()
    {
        
parent::setUp();

        
$locator = new FileLocator();
        
$this->reader = $this->getReader();
        
$this->loader = new DirectoryLoader($locator);
        
$resolver = new LoaderResolver(array(
            new 
YamlFileLoader($locator),
            new 
AnnotationFileLoader($locator, $this->getClassLoader($this->reader)),
            
$this->loader,
        ));
        
$this->loader->setResolver($resolver);
    }

    public function 
testLoadDirectory()
    {
        
$collection = $this->loader->load(__DIR__.'/../Fixtures/directory', 'directory');
        
$this->verifyCollection($collection);
    }

    public function 
testImportDirectory()
    {
        
$collection = $this->loader->load(__DIR__.'/../Fixtures/directory_import', 'directory');
        
$this->verifyCollection($collection);
    }

    private function 
verifyCollection(RouteCollection $collection)
    {
        
$routes = $collection->all();

        
$this->assertCount(3, $routes, 'Three routes are loaded');
        
$this->assertContainsOnly('SymfonyComponentRoutingRoute', $routes);

        for (
$i = 1; $i <= 3; ++$i) {
            
$this->assertSame('/route/'.$i, $routes['route'.$i]->getPath());
        }
    }

    public function 
testSupports()
    {
        
$fixturesDir = __DIR__.'/../Fixtures';

        
$this->assertFalse($this->loader->supports($fixturesDir), '->supports(*) returns false');

        
$this->assertTrue($this->loader->supports($fixturesDir, 'directory'), '->supports(*, "directory") returns true');
        
$this->assertFalse($this->loader->supports($fixturesDir, 'foo'), '->supports(*, "foo") returns false');
    }
}
Онлайн: 1
Реклама