protected function PHP_CodeCoverage_Report_HTML_Renderer_Dashboard::projectRisks in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php \PHP_CodeCoverage_Report_HTML_Renderer_Dashboard::projectRisks()
Returns the project risks according to the CRAP index.
Parameters
array $classes:
string $baseLink:
Return value
array
1 call to PHP_CodeCoverage_Report_HTML_Renderer_Dashboard::projectRisks()
- PHP_CodeCoverage_Report_HTML_Renderer_Dashboard::render in vendor/
phpunit/ php-code-coverage/ src/ CodeCoverage/ Report/ HTML/ Renderer/ Dashboard.php
File
- vendor/
phpunit/ php-code-coverage/ src/ CodeCoverage/ Report/ HTML/ Renderer/ Dashboard.php, line 234
Class
- PHP_CodeCoverage_Report_HTML_Renderer_Dashboard
- Renders the dashboard for a PHP_CodeCoverage_Report_Node_Directory node.
Code
protected function projectRisks(array $classes, $baseLink) {
$classRisks = array();
$methodRisks = array();
$result = array(
'class' => '',
'method' => '',
);
foreach ($classes as $className => $class) {
foreach ($class['methods'] as $methodName => $method) {
if ($method['coverage'] < $this->highLowerBound && $method['ccn'] > 1) {
if ($className != '*') {
$key = $className . '::' . $methodName;
}
else {
$key = $methodName;
}
$methodRisks[$key] = $method['crap'];
}
}
if ($class['coverage'] < $this->highLowerBound && $class['ccn'] > count($class['methods'])) {
$classRisks[$className] = $class['crap'];
}
}
arsort($classRisks);
arsort($methodRisks);
foreach ($classRisks as $className => $crap) {
$result['class'] .= sprintf(' <tr><td><a href="%s">%s</a></td><td class="text-right">%d</td></tr>' . "\n", str_replace($baseLink, '', $classes[$className]['link']), $className, $crap);
}
foreach ($methodRisks as $methodName => $crap) {
list($class, $method) = explode('::', $methodName);
$result['method'] .= sprintf(' <tr><td><a href="%s"><abbr title="%s">%s</abbr></a></td><td class="text-right">%d</td></tr>' . "\n", str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']), $methodName, $method, $crap);
}
return $result;
}