fixed a bug in console/html coverage report
This commit is contained in:
parent
f1d8b7d0de
commit
535c1add75
@ -29,7 +29,7 @@
|
|||||||
//find the class this line resides in, if any
|
//find the class this line resides in, if any
|
||||||
$class = null;
|
$class = null;
|
||||||
foreach ($refClasses as $refClass) {
|
foreach ($refClasses as $refClass) {
|
||||||
if ($line >= $refClass->getStartLine() && $line <= $refClass->getEndLine()) {
|
if ($line > $refClass->getStartLine() && $line <= $refClass->getEndLine()) {
|
||||||
$class = $refClass;
|
$class = $refClass;
|
||||||
//find the method this line resides in
|
//find the method this line resides in
|
||||||
foreach ($class->getMethods() as $refMethod) {
|
foreach ($class->getMethods() as $refMethod) {
|
||||||
@ -97,7 +97,7 @@
|
|||||||
|
|
||||||
fwrite(STDOUT, " Covered: $cloc\n");
|
fwrite(STDOUT, " Covered: $cloc\n");
|
||||||
fwrite(STDOUT, " Dead: $dloc\n");
|
fwrite(STDOUT, " Dead: $dloc\n");
|
||||||
fwrite(STDOUT, " Executable: $loc (" . round($cloc / $loc * 100, 2) . "%)\n");
|
fwrite(STDOUT, " Executable: " . ($loc - $dloc) . " (" . round($cloc / ($loc - $dloc) * 100, 2) . "%)\n");
|
||||||
|
|
||||||
$totloc += $loc;
|
$totloc += $loc;
|
||||||
$totdloc += $dloc;
|
$totdloc += $dloc;
|
||||||
@ -108,7 +108,7 @@
|
|||||||
fwrite(STDOUT, "Totals:\n");
|
fwrite(STDOUT, "Totals:\n");
|
||||||
fwrite(STDOUT, " Covered: $totcloc\n");
|
fwrite(STDOUT, " Covered: $totcloc\n");
|
||||||
fwrite(STDOUT, " Dead: $totdloc\n");
|
fwrite(STDOUT, " Dead: $totdloc\n");
|
||||||
fwrite(STDOUT, " Executable: $totloc (" . round($totcloc / $totloc * 100, 2) . "%)\n");
|
fwrite(STDOUT, " Executable: " . ($totloc - $totdloc) . "" . round($totcloc / ($totloc - $dloc) * 100, 2) . "%)\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function createHtmlReport($coverageDir, array $coverageData) {
|
public static function createHtmlReport($coverageDir, array $coverageData) {
|
||||||
@ -132,11 +132,15 @@
|
|||||||
|
|
||||||
$baseDir = implode(DIRECTORY_SEPARATOR, $baseDir) . DIRECTORY_SEPARATOR;
|
$baseDir = implode(DIRECTORY_SEPARATOR, $baseDir) . DIRECTORY_SEPARATOR;
|
||||||
|
|
||||||
|
$classData = self::parseCoverageData($coverageData);
|
||||||
|
|
||||||
$dirData = array();
|
$dirData = array();
|
||||||
foreach ($coverageData as $file => $data) {
|
foreach ($coverageData as $file => $data) {
|
||||||
self::writeHtmlFile($file, $baseDir, $coverageDir, self::parseCoverageData(array($file => $data)), $data);
|
self::writeHtmlFile($file, $baseDir, $coverageDir, $classData[$file], $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self::writeHtmlDirectories($coverageDir, $baseDir, $classData);
|
||||||
|
|
||||||
//copy css over
|
//copy css over
|
||||||
$template = dirname(__FILE__) . DIRECTORY_SEPARATOR . self::TEMPLATE_DIR . DIRECTORY_SEPARATOR;
|
$template = dirname(__FILE__) . DIRECTORY_SEPARATOR . self::TEMPLATE_DIR . DIRECTORY_SEPARATOR;
|
||||||
copy($template . 'style.css', $coverageDir . DIRECTORY_SEPARATOR . 'style.css');
|
copy($template . 'style.css', $coverageDir . DIRECTORY_SEPARATOR . 'style.css');
|
||||||
@ -150,7 +154,7 @@
|
|||||||
$tloc = 0;
|
$tloc = 0;
|
||||||
$tdloc = 0;
|
$tdloc = 0;
|
||||||
$tcloc = 0;
|
$tcloc = 0;
|
||||||
foreach ($classData[$sourceFile]['classes'] as $class => $methods) {
|
foreach ($classData['classes'] as $class => $methods) {
|
||||||
$classCoverage = '';
|
$classCoverage = '';
|
||||||
$classLoc = 0;
|
$classLoc = 0;
|
||||||
$classDloc = 0;
|
$classDloc = 0;
|
||||||
@ -178,6 +182,10 @@
|
|||||||
$classCoverage .= $methodCoverage;
|
$classCoverage .= $methodCoverage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$tloc += $classData['procedural']['loc'];
|
||||||
|
$tdloc += $classData['procedural']['dloc'];
|
||||||
|
$tcloc += $classData['procedural']['cloc'];
|
||||||
|
|
||||||
$fileCoveragePercent = round($tcloc / max($tloc - $tdloc, 1) * 100, 2);
|
$fileCoveragePercent = round($tcloc / max($tloc - $tdloc, 1) * 100, 2);
|
||||||
$fileCoverage = "<tr class=\"file-coverage\"><th>$sourceFile</th><td>$tcloc / " . ($tloc - $tdloc) . "</td><td>$fileCoveragePercent%</td></tr>\n";
|
$fileCoverage = "<tr class=\"file-coverage\"><th>$sourceFile</th><td>$tcloc / " . ($tloc - $tdloc) . "</td><td>$fileCoveragePercent%</td></tr>\n";
|
||||||
$fileCoverage .= $classCoverage;
|
$fileCoverage .= $classCoverage;
|
||||||
@ -257,14 +265,8 @@
|
|||||||
return file_put_contents($newFile, $template);
|
return file_put_contents($newFile, $template);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function writeHtmlDirectories($coverageDir, $baseDir, array $dirData) {
|
private static function writeHtmlDirectories($coverageDir, $baseDir, array $classData) {
|
||||||
ksort($dirData);
|
|
||||||
|
|
||||||
$newDirData = array();
|
|
||||||
foreach ($dirData as $dir => $data) {
|
|
||||||
$dir = str_replace($baseDir, '', $dir);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user