public function testLoad() { $dir = sys_get_temp_dir() . DIRECTORY_SEPARATOR . rand(111111, 999999); mkdir($dir, 0777, true); $loader = new ProjectTemplateLoader($varLoader = new ProjectTemplateLoaderVar(), $dir); $loader->setDebugger($debugger = new \Symfony\Component\Templating\Tests\Fixtures\ProjectTemplateDebugger()); $this->assertFalse($loader->load(new TemplateReference('foo', 'php')), '->load() returns false if the embed loader is not able to load the template'); $loader->load(new TemplateReference('index')); $this->assertTrue($debugger->hasMessage('Storing template'), '->load() logs a "Storing template" message if the template is found'); $loader->load(new TemplateReference('index')); $this->assertTrue($debugger->hasMessage('Fetching template'), '->load() logs a "Storing template" message if the template is fetched from cache'); }
public function testLoad() { $pathPattern = self::$fixturesPath . '/templates/%name%'; $path = self::$fixturesPath . '/templates'; $loader = new ProjectTemplateLoader2($pathPattern); $storage = $loader->load(new TemplateReference($path . '/foo.php', 'php')); $this->assertInstanceOf('Symfony\\Component\\Templating\\Storage\\FileStorage', $storage, '->load() returns a FileStorage if you pass an absolute path'); $this->assertEquals($path . '/foo.php', (string) $storage, '->load() returns a FileStorage pointing to the passed absolute path'); $this->assertFalse($loader->load(new TemplateReference('bar', 'php')), '->load() returns false if the template is not found'); $storage = $loader->load(new TemplateReference('foo.php', 'php')); $this->assertInstanceOf('Symfony\\Component\\Templating\\Storage\\FileStorage', $storage, '->load() returns a FileStorage if you pass a relative template that exists'); $this->assertEquals($path . '/foo.php', (string) $storage, '->load() returns a FileStorage pointing to the absolute path of the template'); $loader = new ProjectTemplateLoader2($pathPattern); $loader->setDebugger($debugger = new \Symfony\Component\Templating\Tests\Fixtures\ProjectTemplateDebugger()); $this->assertFalse($loader->load(new TemplateReference('foo.xml', 'php')), '->load() returns false if the template does not exist for the given engine'); $this->assertTrue($debugger->hasMessage('Failed loading template'), '->load() logs a "Failed loading template" message if the template is not found'); $loader = new ProjectTemplateLoader2(array(self::$fixturesPath . '/null/%name%', $pathPattern)); $loader->setDebugger($debugger = new \Symfony\Component\Templating\Tests\Fixtures\ProjectTemplateDebugger()); $loader->load(new TemplateReference('foo.php', 'php')); $this->assertTrue($debugger->hasMessage('Loaded template file'), '->load() logs a "Loaded template file" message if the template is found'); }