Example #1
0
 protected function getProfile()
 {
     $profile = new Twig_Profiler_Profile();
     $index = new Twig_Profiler_Profile('index.twig', Twig_Profiler_Profile::TEMPLATE);
     $profile->addProfile($index);
     $body = new Twig_Profiler_Profile('embedded.twig', Twig_Profiler_Profile::BLOCK, 'body');
     $body->leave();
     $index->addProfile($body);
     $embedded = new Twig_Profiler_Profile('embedded.twig', Twig_Profiler_Profile::TEMPLATE);
     $included = new Twig_Profiler_Profile('included.twig', Twig_Profiler_Profile::TEMPLATE);
     $embedded->addProfile($included);
     $index->addProfile($embedded);
     $included->leave();
     $embedded->leave();
     $macro = new Twig_Profiler_Profile('index.twig', Twig_Profiler_Profile::MACRO, 'foo');
     $macro->leave();
     $index->addProfile($macro);
     $embedded = clone $embedded;
     $index->addProfile($embedded);
     $a = range(1, 1000);
     $embedded->leave();
     $profile->leave();
     usleep(5000);
     $index->leave();
     return $profile;
 }
Example #2
0
 public function leave(Twig_Profiler_Profile $profile)
 {
     $profile->leave();
     array_shift($this->actives);
     if (1 === count($this->actives)) {
         $this->actives[0]->leave();
     }
 }
 public function leave(\Twig_Profiler_Profile $profile)
 {
     $profile->leave();
     array_shift($this->actives);
     if (1 === count($this->actives)) {
         $this->actives[0]->leave();
     }
     if ($this->stopwatch && $profile->isTemplate()) {
         $this->events[$profile]->stop();
         unset($this->events[$profile]);
     }
 }
Example #4
0
 public function testSerialize()
 {
     $profile = new Twig_Profiler_Profile('template', 'type', 'name');
     $profile1 = new Twig_Profiler_Profile('template1', 'type1', 'name1');
     $profile->addProfile($profile1);
     $profile->leave();
     $profile1->leave();
     $profile2 = unserialize(serialize($profile));
     $profiles = $profile->getProfiles();
     $this->assertCount(1, $profiles);
     $profile3 = $profiles[0];
     $this->assertEquals($profile->getTemplate(), $profile2->getTemplate());
     $this->assertEquals($profile->getType(), $profile2->getType());
     $this->assertEquals($profile->getName(), $profile2->getName());
     $this->assertEquals($profile->getDuration(), $profile2->getDuration());
     $this->assertEquals($profile1->getTemplate(), $profile3->getTemplate());
     $this->assertEquals($profile1->getType(), $profile3->getType());
     $this->assertEquals($profile1->getName(), $profile3->getName());
 }
 public function testHtmlGraph()
 {
     $profile = new \Twig_Profiler_Profile();
     $template1 = new \Twig_Profiler_Profile('template1', \Twig_Profiler_Profile::TEMPLATE, 'template1');
     $profile->addProfile($template1);
     $profile->enter();
     $template1->enter();
     usleep(10000);
     $template1->leave();
     $profile->leave();
     $collector = new HandlebarsDataCollector($profile);
     $this->assertContains('template1', (string) $collector->getHtmlCallGraph());
 }