Example #1
0
 /**
  * @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;
 }
Example #4
0
 /**
  * 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);
         }
     }
 }