/** * @param FileNode $node * * @return string */ protected function renderItems(FileNode $node) { $template = new \Text_Template($this->templatePath . 'file_item.html', '{{', '}}'); $methodItemTemplate = new \Text_Template($this->templatePath . 'method_item.html', '{{', '}}'); $items = $this->renderItemTemplate($template, ['name' => 'Total', 'numClasses' => $node->getNumClassesAndTraits(), 'numTestedClasses' => $node->getNumTestedClassesAndTraits(), '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->getTestedClassesAndTraitsPercent(false), 'testedClassesPercentAsString' => $node->getTestedClassesAndTraitsPercent(), 'crap' => '<abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr>']); $items .= $this->renderFunctionItems($node->getFunctions(), $methodItemTemplate); $items .= $this->renderTraitOrClassItems($node->getTraits(), $template, $methodItemTemplate); $items .= $this->renderTraitOrClassItems($node->getClasses(), $template, $methodItemTemplate); return $items; }