1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- /*
- * This file is part of the symfony package.
- *
- * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Tests\Components\Templating\Loader;
- require_once __DIR__.'/../../../../../lib/SymfonyTests/Components/Templating/ProjectTemplateDebugger.php';
- use Symfony\Components\Templating\Loader\ChainLoader;
- use Symfony\Components\Templating\Loader\FilesystemLoader;
- use Symfony\Components\Templating\Storage\FileStorage;
- class ChainLoaderTest extends \PHPUnit_Framework_TestCase
- {
- static protected $loader1, $loader2;
- static public function setUpBeforeClass()
- {
- $fixturesPath = realpath(__DIR__.'/../../../../../fixtures/Symfony/Components/Templating/');
- self::$loader1 = new FilesystemLoader($fixturesPath.'/null/%name%');
- self::$loader2 = new FilesystemLoader($fixturesPath.'/templates/%name%.%renderer%');
- }
- public function testConstructor()
- {
- $loader = new ProjectTemplateLoader1(array(self::$loader1, self::$loader2));
- $this->assertEquals(array(self::$loader1, self::$loader2), $loader->getLoaders(), '__construct() takes an array of template loaders as its second argument');
- }
- public function testAddLoader()
- {
- $loader = new ProjectTemplateLoader1(array(self::$loader1));
- $loader->addLoader(self::$loader2);
- $this->assertEquals(array(self::$loader1, self::$loader2), $loader->getLoaders(), '->addLoader() adds a template loader at the end of the loaders');
- }
- public function testLoad()
- {
- $loader = new ProjectTemplateLoader1(array(self::$loader1, self::$loader2));
- $this->assertTrue($loader->load('bar') === false, '->load() returns false if the template is not found');
- $this->assertTrue($loader->load('foo', array('renderer' => 'xml')) === false, '->load() returns false if the template does not exists for the given renderer');
- $this->assertTrue($loader->load('foo') instanceof FileStorage, '->load() returns a FileStorage if the template exists');
- }
- }
- class ProjectTemplateLoader1 extends ChainLoader
- {
- public function getLoaders()
- {
- return $this->loaders;
- }
- }
|