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; }
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]); } }
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()); }