/** * @expectedException \InvalidArgumentException */ public function testGetInvalidHelper() { $container = $this->getContainer(); $loader = $this->getMockForAbstractClass('Symfony\\Component\\Templating\\Loader\\Loader'); $engine = new PhpEngine(new TemplateNameParser(), $container, $loader); $engine->get('non-existing-helper'); }
public function testEvaluateWithoutAvailableRequest() { $container = new Container(); $loader = $this->getMockForAbstractClass('Symfony\\Component\\Templating\\Loader\\Loader'); $engine = new PhpEngine(new TemplateNameParser(), $container, $loader, $app = new GlobalVariables($container)); $container->set('request', null); $globals = $engine->getGlobals(); $this->assertEmpty($globals['app']->getRequest()); }
/** * {@inheritdoc} */ public function render($name, array $parameters = array()) { $e = $this->stopwatch->start(sprintf('template.php (%s)', $name), 'template'); $ret = parent::render($name, $parameters); $e->stop(); return $ret; }
/** * Constructor. */ public function __construct(TemplateNameParserInterface $parser, ContainerInterface $container, LoaderInterface $loader, GlobalVariables $globals = null) { parent::__construct($parser, $container, $loader, $globals); /** * @todo move most of these to template helpers/existing globals */ $this->addGlobal('templateView', $this->container->get('templateView')); // find services tagged as view variables foreach ($container->get('containerTagService')->findTaggedServiceIds('zenmagick.http.view.variable') as $id => $args) { $key = null; foreach ($args as $elem) { foreach ($elem as $key => $value) { if ('key' == $key && $value) { $key = $value; break; } } } $obj = $this->container->get($id); if ($obj instanceof Toolbox) { foreach ($obj->getTools() as $name => $tool) { if ($tool instanceof ToolboxTool) { $tool->setView($this->container->get('defaultView')); } $this->addGlobal($name, $tool); } } $this->addGlobal($key, $obj); } // set all plugins if ($this->container->has('pluginService')) { // @todo inject this instead foreach ($this->container->get('pluginService')->getPluginsForContext() as $plugin) { $this->addGlobal($plugin->getId(), $plugin); } } }