Exemplo n.º 1
0
 /**
  * @param PHP_CodeCoverage_Report_Node_Directory $node
  * @param string                                 $file
  */
 public function render(PHP_CodeCoverage_Report_Node_Directory $node, $file)
 {
     $classes = $node->getClassesAndTraits();
     $template = new Text_Template($this->templatePath . 'dashboard.html', '{{', '}}');
     $this->setCommonTemplateVariables($template, $node);
     $template->setVar(array('least_tested_methods' => $this->leastTestedMethods($classes), 'top_project_risks' => $this->topProjectRisks($classes), 'cc_values' => $this->classComplexity($classes), 'ccd_values' => $this->classCoverageDistribution($classes), 'backlink' => basename(str_replace('.dashboard', '', $file))));
     $template->renderTo($file);
 }
 /**
  * @param PHP_CodeCoverage_Report_Node_Directory $node
  * @param string                                 $file
  */
 public function render(PHP_CodeCoverage_Report_Node_Directory $node, $file)
 {
     $classes = $node->getClassesAndTraits();
     $template = new Text_Template($this->templatePath . 'dashboard.html', '{{', '}}');
     $this->setCommonTemplateVariables($template, $node);
     $complexity = $this->complexity($classes);
     $coverageDistribution = $this->coverageDistribution($classes);
     $insufficientCoverage = $this->insufficientCoverage($classes);
     $projectRisks = $this->projectRisks($classes);
     $template->setVar(array('insufficient_coverage_classes' => $insufficientCoverage['class'], 'insufficient_coverage_methods' => $insufficientCoverage['method'], 'project_risks_classes' => $projectRisks['class'], 'project_risks_methods' => $projectRisks['method'], 'complexity_class' => $complexity['class'], 'complexity_method' => $complexity['method'], 'class_coverage_distribution' => $coverageDistribution['class'], 'method_coverage_distribution' => $coverageDistribution['method']));
     $template->renderTo($file);
 }
Exemplo n.º 3
0
 /**
  * @param PHP_CodeCoverage_Report_Node_Directory $root
  * @param array                                  $items
  * @param array                                  $tests
  * @param boolean                                $cacheTokens
  */
 protected function addItems(PHP_CodeCoverage_Report_Node_Directory $root, array $items, array $tests, $cacheTokens)
 {
     foreach ($items as $key => $value) {
         if (substr($key, -2) == '/f') {
             $key = substr($key, 0, -2);
             $root->addFile($key, $value, $tests, $cacheTokens);
         } else {
             $child = $root->addDirectory($key);
             $this->addItems($child, $value, $tests, $cacheTokens);
         }
     }
 }
Exemplo n.º 4
0
 /**
  * @param PHP_CodeCoverage_Report_Node_Directory $root
  * @param array                                  $items
  * @param array                                  $tests
  * @param boolean                                $cacheTokens
  */
 private function addItems(PHP_CodeCoverage_Report_Node_Directory $root, array $items, array $tests, $cacheTokens)
 {
     foreach ($items as $key => $value) {
         if (substr($key, -2) == '/f') {
             $key = substr($key, 0, -2);
             if (file_exists($root->getPath() . DIRECTORY_SEPARATOR . $key)) {
                 $root->addFile($key, $value, $tests, $cacheTokens);
             }
         } else {
             $child = $root->addDirectory($key);
             $this->addItems($child, $value, $tests, $cacheTokens);
         }
     }
 }
Exemplo n.º 5
0
 private function processDirectory(PHP_CodeCoverage_Report_Node_Directory $directory, PHP_CodeCoverage_Report_XML_Node $context)
 {
     $dirObject = $context->addDirectory($directory->getName());
     $this->setTotals($directory, $dirObject->getTotals());
     foreach ($directory as $node) {
         if ($node instanceof PHP_CodeCoverage_Report_Node_Directory) {
             $this->processDirectory($node, $dirObject);
             continue;
         }
         if ($node instanceof PHP_CodeCoverage_Report_Node_File) {
             $this->processFile($node, $dirObject);
             continue;
         }
         throw new PHP_CodeCoverage_Exception('Unknown node type for XML report');
     }
 }
Exemplo n.º 6
0
 /**
  * @param PHP_CodeCoverage_Report_Node_Directory $node
  * @param string                                 $file
  * @param string                                 $title
  */
 public function render(PHP_CodeCoverage_Report_Node_Directory $node, $file, $title = NULL)
 {
     if ($title === NULL) {
         $title = $node->getName();
     }
     $template = new Text_Template($this->templatePath . 'directory.html');
     $this->setCommonTemplateVariables($template, $title, $node);
     $items = $this->renderItem($node, TRUE);
     foreach ($node->getDirectories() as $item) {
         $items .= $this->renderItem($item);
     }
     foreach ($node->getFiles() as $item) {
         $items .= $this->renderItem($item);
     }
     $template->setVar(array('id' => $node->getId(), 'items' => $items));
     $template->renderTo($file);
 }
Exemplo n.º 7
0
 public function testProcess()
 {
     vfsStream::setup('tmp');
     $target = vfsStream::url('tmp');
     file_put_contents($target . '/file', "test\n");
     $report = new \PHP_CodeCoverage_Report_Node_Directory($target);
     $report->addFile('file', array('class' => array(1 => 1)), array(), false);
     $coverage = $this->getMock('PHP_CodeCoverage');
     $coverage->expects($this->once())->method('getReport')->will($this->returnValue($report));
     $report = new Html(array('target' => $target));
     try {
         $result = $report->process($coverage);
     } catch (\Exception $e) {
         // workaround until https://github.com/mikey179/vfsStream/pull/67 is merged
         if ($e->getMessage() === 'Could not write to vfs://tmp/index.dashboard.html: /tmp/index.dashboard.html): failed to open stream: "org\\bovigo\\vfs\\vfsStreamWrapper::stream_open" call failed') {
             $this->markTestSkipped();
         } else {
             $this->fail();
         }
     }
 }
Exemplo n.º 8
0
 /**
  * Constructor.
  *
  * @param PHP_CodeCoverage_Report_Node_Directory $node        	
  */
 public function __construct(PHP_CodeCoverage_Report_Node_Directory $node)
 {
     $this->nodes = $node->getChildNodes();
 }