/**
  * 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();
     }
 }
Ejemplo n.º 2
0
 /**
  * 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;
     }
 }