$this->templates[$name] = $template; } public function load($template, $renderer = 'php') { if (isset($this->templates[$template . '.' . $renderer])) { return new sfTemplateStorageString($this->templates[$template . '.' . $renderer]); } return false; } } $loader = new ProjectTemplateLoader(); $renderer = new ProjectTemplateRenderer(); // __construct() $t->diag('__construct()'); $engine = new ProjectTemplateEngine($loader); $t->is($engine->getLoader(), $loader, '__construct() takes a loader instance as its second first argument'); $t->is(array_keys($engine->getRenderers()), array('php'), '__construct() automatically registers a PHP renderer if none is given'); $t->ok($engine->getHelperSet() instanceof sfTemplateHelperSet, '__construct() automatically creates a helper set if none is given'); $engine = new ProjectTemplateEngine($loader, array('foo' => $renderer)); $t->is(array_keys($engine->getRenderers()), array('foo', 'php'), '__construct() takes an array of renderers as its third argument'); $t->ok($renderer->getEngine() === $engine, '__construct() registers itself on all renderers'); $engine = new ProjectTemplateEngine($loader, array('php' => $renderer)); $t->ok($engine->getRenderers() === array('php' => $renderer), '__construct() can overridde the default PHP renderer'); $engine = new ProjectTemplateEngine($loader, array(), $helperSet = new sfTemplateHelperSet()); $t->ok($engine->getHelperSet() === $helperSet, '__construct() takes a helper set as its third argument'); // ->getHelperSet() ->setHelperSet() $t->diag('->getHelperSet() ->setHelperSet()'); $engine = new ProjectTemplateEngine($loader); $engine->setHelperSet(new sfTemplateHelperSet(array('foo' => $helper = new SimpleHelper('bar')))); $t->is((string) $engine->getHelperSet()->get('foo'), 'bar', '->setHelperSet() sets a helper set'); // __get()
public function testGetLoader() { $engine = new ProjectTemplateEngine(new ehough_templating_TemplateNameParser(), $this->loader); $this->assertSame($this->loader, $engine->getLoader()); }