/** * @param PHP_CodeCoverage_Report_Node_File $node * @return string */ protected function renderItems(PHP_CodeCoverage_Report_Node_File $node) { $template = new Text_Template($this->templatePath . 'file_item.html'); $methodItemTemplate = new Text_Template($this->templatePath . 'method_item.html'); $items = $this->renderItemTemplate($template, array('itemClass' => 'coverDirectory', 'name' => 'Total', 'numClasses' => $node->getNumClasses() + $node->getNumTraits(), 'numTestedClasses' => $node->getNumTestedClasses() + $node->getNumTestedTraits(), 'numMethods' => $node->getNumMethods(), 'numTestedMethods' => $node->getNumTestedMethods(), 'linesExecutedPercent' => $node->getLineExecutedPercent(FALSE), 'linesExecutedPercentAsString' => $node->getLineExecutedPercent(), 'numExecutedLines' => $node->getNumExecutedLines(), 'numExecutableLines' => $node->getNumExecutableLines(), 'testedMethodsPercent' => $node->getTestedMethodsPercent(FALSE), 'testedMethodsPercentAsString' => $node->getTestedMethodsPercent(), 'testedClassesPercent' => $node->getTestedClassesPercent(FALSE), 'testedClassesPercentAsString' => $node->getTestedClassesPercent(), 'crap' => '<acronym title="Change Risk Anti-Patterns (CRAP) Index">CRAP</acronym>')); $items .= $this->renderFunctionItems($node->getFunctions(), $methodItemTemplate); $items .= $this->renderTraitOrClassItems($node->getTraits(), $template, $methodItemTemplate); $items .= $this->renderTraitOrClassItems($node->getClasses(), $template, $methodItemTemplate); return $items; }