/** * Paints the end of a test method being run. This is used * to pause the collection of code coverage if its being used. * * @param string $method The name of the method being run. * @return void */ function paintMethodEnd($method) { parent::paintMethodEnd($method); if (!empty($this->params['codeCoverage'])) { CodeCoverageManager::stop(); } }
/** * Stops the current code coverage analyzation and dumps a nice report * depending on the reporter that was passed to start() * * @return void * @static */ function report($output = true) { $manager =& CodeCoverageManager::getInstance(); CodeCoverageManager::stop(); CodeCoverageManager::clear(); list($coverageData, $testObjectFile) = $manager->_getCoverageData(); if (empty($coverageData) && $output) { echo "The test object file is never loaded.\n"; } if (!$manager->groupTest) { $execCodeLines = $manager->__getExecutableLines(file_get_contents($testObjectFile)); $result = ''; switch (get_class($manager->reporter)) { case 'CakeHtmlReporter': $result = $manager->reportCaseHtmlDiff(@file($testObjectFile), $coverageData, $execCodeLines, $manager->numDiffContextLines); break; case 'CakeCliReporter': default: $result = $manager->reportCaseCli(@file($testObjectFile), $coverageData, $execCodeLines, $manager->numDiffContextLines); break; } } else { $execCodeLines = $manager->__getExecutableLines($testObjectFile); $result = ''; switch (get_class($manager->reporter)) { case 'CakeHtmlReporter': $result = $manager->reportGroupHtml($testObjectFile, $coverageData, $execCodeLines, $manager->numDiffContextLines); break; case 'CakeCliReporter': default: $result = $manager->reportGroupCli($testObjectFile, $coverageData, $execCodeLines, $manager->numDiffContextLines); break; } } if ($output) { echo $result; } }