You are here

protected function PHP_CodeCoverage_Report_HTML_Renderer_Dashboard::insufficientCoverage in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php \PHP_CodeCoverage_Report_HTML_Renderer_Dashboard::insufficientCoverage()

Returns the classes / methods with insufficient coverage.

Parameters

array $classes:

string $baseLink:

Return value

array

1 call to PHP_CodeCoverage_Report_HTML_Renderer_Dashboard::insufficientCoverage()
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 176

Class

PHP_CodeCoverage_Report_HTML_Renderer_Dashboard
Renders the dashboard for a PHP_CodeCoverage_Report_Node_Directory node.

Code

protected function insufficientCoverage(array $classes, $baseLink) {
  $leastTestedClasses = array();
  $leastTestedMethods = array();
  $result = array(
    'class' => '',
    'method' => '',
  );
  foreach ($classes as $className => $class) {
    foreach ($class['methods'] as $methodName => $method) {
      if ($method['coverage'] < $this->highLowerBound) {
        if ($className != '*') {
          $key = $className . '::' . $methodName;
        }
        else {
          $key = $methodName;
        }
        $leastTestedMethods[$key] = $method['coverage'];
      }
    }
    if ($class['coverage'] < $this->highLowerBound) {
      $leastTestedClasses[$className] = $class['coverage'];
    }
  }
  asort($leastTestedClasses);
  asort($leastTestedMethods);
  foreach ($leastTestedClasses as $className => $coverage) {
    $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, $coverage);
  }
  foreach ($leastTestedMethods as $methodName => $coverage) {
    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, $coverage);
  }
  return $result;
}