コード例 #1
0
 public function render($name, array $context = [])
 {
     $renderer = $this->loadTemplate($name);
     $templateProfile = new \Twig_Profiler_Profile($name, \Twig_Profiler_Profile::TEMPLATE, $name);
     $this->profiler->enter($templateProfile);
     $html = $renderer($context, ['helpers' => $this->helper->getHelpers()]);
     $this->profiler->leave($templateProfile);
     return $html;
 }
コード例 #2
0
 public function testEnterLeave()
 {
     $mainProfile = $this->prophesize('Twig_Profiler_Profile');
     $mainProfile->addProfile(Argument::type('Twig_Profiler_Profile'))->shouldBeCalled();
     $mainProfile->leave()->shouldBeCalled();
     $watchEvent = $this->prophesize('Symfony\\Component\\Stopwatch\\StopwatchEvent');
     $watchEvent->stop()->shouldBeCalled();
     $watch = $this->prophesize('Symfony\\Component\\Stopwatch\\Stopwatch');
     $watch->start('test', 'template')->willReturn($watchEvent->reveal())->shouldBeCalled();
     $profiler = new HandlebarsProfileExtension($mainProfile->reveal(), $watch->reveal());
     $profile = $this->prophesize('Twig_Profiler_Profile');
     $profile->getName()->willReturn('test');
     $profile->isTemplate()->willReturn(true);
     $profile->leave()->shouldBeCalled();
     $profileInstance = $profile->reveal();
     $profiler->enter($profileInstance);
     $profiler->leave($profileInstance);
 }