예제 #1
0
파일: HTML.php 프로젝트: redlion09/pcppi
 /**
  * @param PHP_CodeCoverage $coverage
  * @param string           $target
  */
 public function process(PHP_CodeCoverage $coverage, $target)
 {
     $target = PHP_CodeCoverage_Util::getDirectory($target);
     $files = $coverage->getSummary();
     $commonPath = PHP_CodeCoverage_Util::reducePaths($files);
     $items = PHP_CodeCoverage_Util::buildDirectoryStructure($files);
     $root = new PHP_CodeCoverage_Report_HTML_Node_Directory($commonPath, NULL);
     $this->addItems($root, $items, $files);
     $this->renderDashboard($root, $target . 'index.dashboard.html', $this->options['title']);
     foreach ($root as $node) {
         if ($node instanceof PHP_CodeCoverage_Report_HTML_Node_Directory) {
             $this->renderDashboard($node, $target . PHP_CodeCoverage_Util::getSafeFilename($node->getId()) . '.dashboard.html', $node->getName(TRUE));
         }
     }
     $root->render($target, $this->options['title'], $this->options['charset'], $this->options['lowUpperBound'], $this->options['highLowerBound'], $this->options['generator']);
     $this->copyFiles($target);
 }
예제 #2
0
 /**
  * @covers PHP_CodeCoverage_Util::buildDirectoryStructure
  */
 public function testBuildDirectoryStructure()
 {
     $this->assertEquals(array('src' => array('Money.php/f' => array(), 'MoneyBag.php/f' => array())), PHP_CodeCoverage_Util::buildDirectoryStructure(array('src/Money.php' => array(), 'src/MoneyBag.php' => array())));
 }