* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Config\Tests\Loader; use PHPUnit\Framework\TestCase; use Symfony\Component\Config\Loader\Loader; class LoaderTest extends TestCase { public function testGetSetResolver() { $resolver = $this->getMockBuilder('Symfony\Component\Config\Loader\LoaderResolverInterface')->getMock(); $loader = new ProjectLoader1(); $loader->setResolver($resolver); $this->assertSame($resolver, $loader->getResolver(), '->setResolver() sets the resolver loader'); } public function testResolve() { $resolvedLoader = $this->getMockBuilder('Symfony\Component\Config\Loader\LoaderInterface')->getMock(); $resolver = $this->getMockBuilder('Symfony\Component\Config\Loader\LoaderResolverInterface')->getMock(); $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 \Symfony\Component\Config\Exception\FileLoaderLoadException */ public function testResolveWhenResolverCannotFindLoader() { $resolver = $this->getMockBuilder('Symfony\Component\Config\Loader\LoaderResolverInterface')->getMock(); $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->getMockBuilder('Symfony\Component\Config\Loader\LoaderInterface')->getMock(); $resolvedLoader->expects($this->once()) ->method('load') ->with('foo') ->will($this->returnValue('yes')); $resolver = $this->getMockBuilder('Symfony\Component\Config\Loader\LoaderResolverInterface')->getMock(); $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->getMockBuilder('Symfony\Component\Config\Loader\LoaderInterface')->getMock(); $resolvedLoader->expects($this->once()) ->method('load') ->with('foo', 'bar') ->will($this->returnValue('yes')); $resolver = $this->getMockBuilder('Symfony\Component\Config\Loader\LoaderResolverInterface')->getMock(); $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() { } } __halt_compiler();----SIGNATURE:----E+00+ufHSe8Cn0H/sFjkLuRVSInb+WfgmCXrsZge28EmAhaLmaA275fcbqGv7NXOHxgdNZWdoz5Z1o/L8WvYyeOLdov/cmW16MdvwrkOWDlzNgN/StdWGS2Cx5ctnWsSKaSlWObsjBvwctzjHL3ehnhbpxjuHgTPrCFWTlcAbb1BX4L5dt984OzAnTXPIWF9HdKNLRy/nqRo6MLdfS4SVo22sPk6xNxAlXNR9Kr9vJbzpDahuVovLLIW93WCvDHNAvCwH94FI72znqWZaB+dCjHYp1IseaE0pf+sw22YwO+jVZgyC3kS+XpcfQ1CVVKWCDa7Fh5niSnwpstO2PnliP1S7UmaMgN2AfYuhyTL+Lng2dd539sCuIn3AmaKDf258WDJ15Zz+E4IbQEa1rzNFpVIPIXneBdMJGkDDFzpf5nutNGvksYvryVKE51sPndUMKj/YoApXjg3wk17rGw7ZqUrGsffODnBPWIBFGC/8fyTkHUl35gPeVOds0WLBA80AfPHyYpizARyNgVRvIKbQAlbQazfPjNM+9mgy0XUjnfJUzkf1wLFf9Gmfhe7GNqxsEE3y+O3FXF4JgzrpJTXjDhXSv6g+yr9G8gMJfpf0EMz5sASWLCtcqJlz+gpPpX1G1XgUGL017WoBu8ArJ37e1VngAIJyHiZUhOdjOkixOU=----ATTACHMENT:----NDcyNjk4NTUzMDY5MzQxOSAzODM4MjAzNzEyMjMyMzE3IDM5NTc4NDUzNjg4NjAxNA==