function Directory::renderItem
1 call to Directory::renderItem()
- Directory::render in vendor/
phpunit/ php-code-coverage/ src/ Report/ Html/ Renderer/ Directory.php
File
-
vendor/
phpunit/ php-code-coverage/ src/ Report/ Html/ Renderer/ Directory.php, line 61
Class
- Directory
- @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
Namespace
SebastianBergmann\CodeCoverage\Report\HtmlCode
private function renderItem(Node $node, bool $total = false) : string {
$data = [
'numClasses' => $node->numberOfClassesAndTraits(),
'numTestedClasses' => $node->numberOfTestedClassesAndTraits(),
'numMethods' => $node->numberOfFunctionsAndMethods(),
'numTestedMethods' => $node->numberOfTestedFunctionsAndMethods(),
'linesExecutedPercent' => $node->percentageOfExecutedLines()
->asFloat(),
'linesExecutedPercentAsString' => $node->percentageOfExecutedLines()
->asString(),
'numExecutedLines' => $node->numberOfExecutedLines(),
'numExecutableLines' => $node->numberOfExecutableLines(),
'branchesExecutedPercent' => $node->percentageOfExecutedBranches()
->asFloat(),
'branchesExecutedPercentAsString' => $node->percentageOfExecutedBranches()
->asString(),
'numExecutedBranches' => $node->numberOfExecutedBranches(),
'numExecutableBranches' => $node->numberOfExecutableBranches(),
'pathsExecutedPercent' => $node->percentageOfExecutedPaths()
->asFloat(),
'pathsExecutedPercentAsString' => $node->percentageOfExecutedPaths()
->asString(),
'numExecutedPaths' => $node->numberOfExecutedPaths(),
'numExecutablePaths' => $node->numberOfExecutablePaths(),
'testedMethodsPercent' => $node->percentageOfTestedFunctionsAndMethods()
->asFloat(),
'testedMethodsPercentAsString' => $node->percentageOfTestedFunctionsAndMethods()
->asString(),
'testedClassesPercent' => $node->percentageOfTestedClassesAndTraits()
->asFloat(),
'testedClassesPercentAsString' => $node->percentageOfTestedClassesAndTraits()
->asString(),
];
if ($total) {
$data['name'] = 'Total';
}
else {
$up = str_repeat('../', count($node->pathAsArray()) - 2);
$data['icon'] = sprintf('<img src="%s_icons/file-code.svg" class="octicon" />', $up);
if ($node instanceof DirectoryNode) {
$data['name'] = sprintf('<a href="%s/index.html">%s</a>', $node->name(), $node->name());
$data['icon'] = sprintf('<img src="%s_icons/file-directory.svg" class="octicon" />', $up);
}
elseif ($this->hasBranchCoverage) {
$data['name'] = sprintf('%s <a class="small" href="%s.html">[line]</a> <a class="small" href="%s_branch.html">[branch]</a> <a class="small" href="%s_path.html">[path]</a>', $node->name(), $node->name(), $node->name(), $node->name());
}
else {
$data['name'] = sprintf('<a href="%s.html">%s</a>', $node->name(), $node->name());
}
}
$templateName = $this->templatePath . ($this->hasBranchCoverage ? 'directory_item_branch.html' : 'directory_item.html');
return $this->renderItemTemplate(new Template($templateName, '{{', '}}'), $data);
}