Example #1
0
 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');
 }