protected function parseCoverage(array $coverage)
 {
     $this->coveredLines = 0;
     $this->uncoveredLines = 0;
     ksort($coverage);
     foreach ($coverage as $file => $lines) {
         $this->coveredCode[$file] = array();
         $this->uncoveredCode[$file] = array();
         foreach ($lines as $line => $flag) {
             if ($flag == self::COVERED) {
                 $this->coveredCode[$file][] = $line;
                 $this->coveredLines++;
             } else {
                 $this->uncoveredCode[$file][] = $line;
                 $this->uncoveredLines++;
             }
         }
     }
     $lexer = new LimeLexerCodeLines();
     foreach ($this->files as $file) {
         if (!array_key_exists($file, $this->coveredCode)) {
             $this->coveredCode[$file] = array();
             $this->uncoveredCode[$file] = $lexer->parse($file);
             $this->uncoveredLines += count($this->uncoveredCode[$file]);
         }
     }
 }
Example #2
0
File: loc.php Project: b00giZm/lime
 * This file is part of the Lime framework.
 *
 * (c) Fabien Potencier <*****@*****.**>
 * (c) Bernhard Schussek <*****@*****.**>
 *
 * This source file is subject to the MIT license that is bundled
 * with this source code in the file LICENSE.
 */
require_once dirname(__FILE__) . '/../../lib/LimeAutoloader.php';
LimeAutoloader::register();
$baseDir = realpath(dirname(__FILE__) . '/..');
$printer = new LimePrinter(new LimeColorizer());
$printer->printLine('Source Lines Of Code', LimePrinter::HAPPY);
$fileLines = 0;
$testLines = 0;
$lexer = new LimeLexerCodeLines();
$suite = new LimeHarness();
$suite->registerGlob($baseDir . '/../lib/*.php');
$suite->registerGlob($baseDir . '/../lib/*/*.php');
$suite->registerGlob($baseDir . '/../lib/*/*/*.php');
$suite->registerGlob($baseDir . '/../lib/*/*/*/*.php');
$suite->registerGlob($baseDir . '/../lib/*/*/*/*/*.php');
foreach ($suite->getFiles() as $file) {
    $fileLines += count($lexer->parse($file));
}
$printer->printLine(sprintf('Classes:       %d', $fileLines));
$suite = new LimeHarness();
$suite->registerGlob($baseDir . '/unit/*.php');
$suite->registerGlob($baseDir . '/unit/*/*.php');
$suite->registerGlob($baseDir . '/unit/*/*/*.php');
$suite->registerGlob($baseDir . '/unit/*/*/*/*.php');