Вход Регистрация
Файл: symfony-2.7/src/Symfony/Component/Config/Tests/Loader/LoaderTest.php
Строк: 113
<?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 SymfonyComponentConfigTestsLoader;

use 
SymfonyComponentConfigLoaderLoader;

class 
LoaderTest extends PHPUnit_Framework_TestCase
{
    public function 
testGetSetResolver()
    {
        
$resolver = $this->getMock('SymfonyComponentConfigLoaderLoaderResolverInterface');

        
$loader = new ProjectLoader1();
        
$loader->setResolver($resolver);

        
$this->assertSame($resolver, $loader->getResolver(), '->setResolver() sets the resolver loader');
    }

    public function 
testResolve()
    {
        
$resolvedLoader = $this->getMock('SymfonyComponentConfigLoaderLoaderInterface');

        
$resolver = $this->getMock('SymfonyComponentConfigLoaderLoaderResolverInterface');
        
$resolver->expects($this->once())
            ->
method('resolve')
            ->
with('foo.xml')
            ->
will($this->returnValue($resolvedLoader));

        
$loader = new ProjectLoader1();
        
$loader->setResolver($resolver);

        
$this->assertSame($loader, $loader->resolve('foo.foo'), '->resolve() finds a loader');
        
$this->assertSame($resolvedLoader, $loader->resolve('foo.xml'), '->resolve() finds a loader');
    }

    
/**
     * @expectedException SymfonyComponentConfigExceptionFileLoaderLoadException
     */
    
public function testResolveWhenResolverCannotFindLoader()
    {
        
$resolver = $this->getMock('SymfonyComponentConfigLoaderLoaderResolverInterface');
        
$resolver->expects($this->once())
            ->
method('resolve')
            ->
with('FOOBAR')
            ->
will($this->returnValue(false));

        
$loader = new ProjectLoader1();
        
$loader->setResolver($resolver);

        
$loader->resolve('FOOBAR');
    }

    public function 
testImport()
    {
        
$resolvedLoader = $this->getMock('SymfonyComponentConfigLoaderLoaderInterface');
        
$resolvedLoader->expects($this->once())
            ->
method('load')
            ->
with('foo')
            ->
will($this->returnValue('yes'));

        
$resolver = $this->getMock('SymfonyComponentConfigLoaderLoaderResolverInterface');
        
$resolver->expects($this->once())
            ->
method('resolve')
            ->
with('foo')
            ->
will($this->returnValue($resolvedLoader));

        
$loader = new ProjectLoader1();
        
$loader->setResolver($resolver);

        
$this->assertEquals('yes', $loader->import('foo'));
    }

    public function 
testImportWithType()
    {
        
$resolvedLoader = $this->getMock('SymfonyComponentConfigLoaderLoaderInterface');
        
$resolvedLoader->expects($this->once())
            ->
method('load')
            ->
with('foo', 'bar')
            ->
will($this->returnValue('yes'));

        
$resolver = $this->getMock('SymfonyComponentConfigLoaderLoaderResolverInterface');
        
$resolver->expects($this->once())
            ->
method('resolve')
            ->
with('foo', 'bar')
            ->
will($this->returnValue($resolvedLoader));

        
$loader = new ProjectLoader1();
        
$loader->setResolver($resolver);

        
$this->assertEquals('yes', $loader->import('foo', 'bar'));
    }
}

class 
ProjectLoader1 extends Loader
{
    public function 
load($resource, $type = null)
    {
    }

    public function 
supports($resource, $type = null)
    {
        return 
is_string($resource) && 'foo' === pathinfo($resource, PATHINFO_EXTENSION);
    }

    public function 
getType()
    {
    }
}
Онлайн: 2
Реклама