Example #1
0
 /**
  * @return array
  */
 public function getPathAsArray()
 {
     if ($this->pathArray === NULL) {
         if ($this->parent === NULL) {
             $this->pathArray = array();
         } else {
             $this->pathArray = $this->parent->getPathAsArray();
         }
         $this->pathArray[] = $this;
     }
     return $this->pathArray;
 }
Example #2
0
 /**
  * @param  PHP_CodeCoverage_Report_Node $item
  * @param  boolean                      $total
  * @return string
  */
 protected function renderItem(PHP_CodeCoverage_Report_Node $item, $total = false)
 {
     $data = array('numClasses' => $item->getNumClassesAndTraits(), 'numTestedClasses' => $item->getNumTestedClassesAndTraits(), 'numMethods' => $item->getNumMethods(), 'numTestedMethods' => $item->getNumTestedMethods(), 'linesExecutedPercent' => $item->getLineExecutedPercent(false), 'linesExecutedPercentAsString' => $item->getLineExecutedPercent(), 'numExecutedLines' => $item->getNumExecutedLines(), 'numExecutableLines' => $item->getNumExecutableLines(), 'testedMethodsPercent' => $item->getTestedMethodsPercent(false), 'testedMethodsPercentAsString' => $item->getTestedMethodsPercent(), 'testedClassesPercent' => $item->getTestedClassesAndTraitsPercent(false), 'testedClassesPercentAsString' => $item->getTestedClassesAndTraitsPercent());
     if ($total) {
         $data['name'] = 'Total';
     } else {
         if ($item instanceof PHP_CodeCoverage_Report_Node_Directory) {
             $data['name'] = sprintf('<a href="%s/index.html">%s</a>', $item->getName(), $item->getName());
             $data['icon'] = '<span class="glyphicon glyphicon-folder-open"></span> ';
         } else {
             $data['name'] = sprintf('<a href="%s.html">%s</a>', $item->getName(), $item->getName());
             $data['icon'] = '<span class="glyphicon glyphicon-file"></span> ';
         }
     }
     return $this->renderItemTemplate(new Text_Template($this->templatePath . 'directory_item.html', '{{', '}}'), $data);
 }
Example #3
0
 protected function getPathToRoot(PHP_CodeCoverage_Report_Node $node)
 {
     $id = $node->getId();
     $depth = substr_count($id, '/');
     if ($id != 'index' && $node instanceof PHP_CodeCoverage_Report_Node_Directory) {
         $depth++;
     }
     return str_repeat('../', $depth);
 }
 protected function getBreadcrumbs(PHP_CodeCoverage_Report_Node $node)
 {
     $breadcrumbs = '';
     $path = $node->getPathAsArray();
     foreach ($path as $step) {
         if ($step !== $node) {
             $breadcrumbs .= sprintf('        <li><a href="%s.html">%s</a> <span class="divider">/</span></li>' . "\n", $step->getId(), $step->getName());
         } else {
             $breadcrumbs .= sprintf('        <li class="active">%s</li>' . "\n", $step->getName());
             if ($node instanceof PHP_CodeCoverage_Report_Node_Directory) {
                 $breadcrumbs .= sprintf('        <li>(<a href="%s.dashboard.html">Dashboard</a>)</li>' . "\n", $step->getId());
             }
         }
     }
     return $breadcrumbs;
 }
Example #5
0
 /**
  * Constructor.
  *
  * @param  string                       $name
  * @param  PHP_CodeCoverage_Report_Node $parent
  * @param  array                        $coverageData
  * @param  array                        $testData
  * @param  boolean                      $cacheTokens
  */
 public function __construct($name, PHP_CodeCoverage_Report_Node $parent, array $coverageData, array $testData, $cacheTokens)
 {
     if (!is_bool($cacheTokens)) {
         throw new InvalidArgumentException();
     }
     parent::__construct($name, $parent);
     $this->coverageData = $coverageData;
     $this->testData = $testData;
     $this->ignoredLines = PHP_CodeCoverage_Util::getLinesToBeIgnored($this->getPath(), $cacheTokens);
     $this->cacheTokens = $cacheTokens;
     $this->calculateStatistics();
 }
 /**
  * @param Text_Template                $template
  * @param string                       $title
  * @param PHP_CodeCoverage_Report_Node $node
  */
 protected function setCommonTemplateVariables(Text_Template $template, $title, PHP_CodeCoverage_Report_Node $node = NULL)
 {
     $link = '';
     if ($node !== NULL) {
         $path = $node->getPathAsArray();
         foreach ($path as $step) {
             $link .= sprintf('%s<a href="%s.html">%s</a>', !empty($link) ? '/' : '', $step->getId(), $step->getName());
         }
     }
     $template->setVar(array('title' => $title, 'link' => $link, 'charset' => $this->charset, 'date' => $this->date, 'version' => '1.1.2', 'php_version' => PHP_VERSION, 'generator' => $this->generator, 'low_upper_bound' => $this->lowUpperBound, 'high_lower_bound' => $this->highLowerBound));
 }
Example #7
0
 protected function getInactiveBreadcrumb(PHP_CodeCoverage_Report_Node $node)
 {
     return sprintf('        <li><a href="%s.html">%s</a> <span class="divider">/</span></li>' . "\n", $node->getId(), $node->getName());
 }
Example #8
0
 protected function getActiveBreadcrumb(PHP_CodeCoverage_Report_Node $node)
 {
     return sprintf('        <li><a href="index.html">%s</a></li>' . "\n" . '        <li class="active">(Dashboard)</li>' . "\n", $node->getName());
 }
Example #9
0
 /**
  * @param  PHP_CodeCoverage_Report_Node $item
  * @param  boolean                      $total
  * @return string
  */
 protected function renderItem(PHP_CodeCoverage_Report_Node $item, $total = FALSE)
 {
     $data = array('numClasses' => $item->getNumClasses(), 'numTestedClasses' => $item->getNumTestedClasses(), 'numMethods' => $item->getNumMethods(), 'numTestedMethods' => $item->getNumTestedMethods(), 'linesExecutedPercent' => $item->getLineExecutedPercent(FALSE), 'linesExecutedPercentAsString' => $item->getLineExecutedPercent(), 'numExecutedLines' => $item->getNumExecutedLines(), 'numExecutableLines' => $item->getNumExecutableLines(), 'testedMethodsPercent' => $item->getTestedMethodsPercent(FALSE), 'testedMethodsPercentAsString' => $item->getTestedMethodsPercent(), 'testedClassesPercent' => $item->getTestedClassesPercent(FALSE), 'testedClassesPercentAsString' => $item->getTestedClassesPercent());
     if ($total) {
         $data['itemClass'] = 'coverDirectory';
         $data['name'] = 'Total';
     } else {
         $data['name'] = sprintf('<a href="%s.html">%s</a>', $item->getId(), $item->getName());
         if ($item instanceof PHP_CodeCoverage_Report_Node_Directory) {
             $data['icon'] = '<img alt="directory" src="directory.png"/> ';
             $data['itemClass'] = 'coverDirectory';
         } else {
             $data['icon'] = '<img alt="file" src="file.png"/> ';
             $data['itemClass'] = 'coverFile';
         }
     }
     return $this->renderItemTemplate(new Text_Template($this->templatePath . 'directory_item.html'), $data);
 }
Example #10
0
 protected function getActiveBreadcrumb(PHP_CodeCoverage_Report_Node $node)
 {
     $buffer = sprintf('        <li class="active">%s</li>' . "\n", $node->getName());
     if ($node instanceof PHP_CodeCoverage_Report_Node_Directory) {
         $buffer .= '        <li>(<a href="dashboard.html">Dashboard</a>)</li>' . "\n";
     }
     return $buffer;
 }
Example #11
0
 /**
  * Constructor.
  *
  * @param  string                       $name
  * @param  PHP_CodeCoverage_Report_Node $parent
  * @param  array                        $coverageData
  * @param  array                        $testData
  * @param  bool                         $cacheTokens
  *
  * @throws PHP_CodeCoverage_Exception
  */
 public function __construct($name, PHP_CodeCoverage_Report_Node $parent, array $coverageData, array $testData, $cacheTokens)
 {
     if (!is_bool($cacheTokens)) {
         throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(1, 'boolean');
     }
     parent::__construct($name, $parent);
     $this->coverageData = $coverageData;
     $this->testData = $testData;
     $this->cacheTokens = $cacheTokens;
     $this->calculateStatistics();
 }
Example #12
0
 private function setTotals(PHP_CodeCoverage_Report_Node $node, PHP_CodeCoverage_Report_XML_Totals $totals)
 {
     $loc = $node->getLinesOfCode();
     $totals->setNumLines($loc['loc'], $loc['cloc'], $loc['ncloc'], $node->getNumExecutableLines(), $node->getNumExecutedLines());
     $totals->setNumClasses($node->getNumClasses(), $node->getNumTestedClasses());
     $totals->setNumTraits($node->getNumTraits(), $node->getNumTestedTraits());
     $totals->setNumMethods($node->getNumMethods(), $node->getNumTestedMethods());
     $totals->setNumFunctions($node->getNumFunctions(), $node->getNumTestedFunctions());
 }
Example #13
0
 /**
  * @param Text_Template                $template
  * @param PHP_CodeCoverage_Report_Node $node
  */
 protected function setCommonTemplateVariables(Text_Template $template, PHP_CodeCoverage_Report_Node $node)
 {
     $runtime = new Runtime();
     $template->setVar(array('id' => $node->getId(), 'full_path' => $node->getPath(), 'path_to_root' => $this->getPathToRoot($node), 'breadcrumbs' => $this->getBreadcrumbs($node), 'date' => $this->date, 'version' => $this->version, 'runtime_name' => $runtime->getName(), 'runtime_version' => $runtime->getVersion(), 'runtime_link' => $runtime->getVendorUrl(), 'generator' => $this->generator, 'low_upper_bound' => $this->lowUpperBound, 'high_lower_bound' => $this->highLowerBound));
 }