Ejemplo n.º 1
0
 private function processFile(FileNode $file, Directory $context)
 {
     $fileObject = $context->addFile($file->getName(), $file->getId() . '.xml');
     $this->setTotals($file, $fileObject->getTotals());
     $fileReport = new Report($file->getName());
     $this->setTotals($file, $fileReport->getTotals());
     foreach ($file->getClassesAndTraits() as $unit) {
         $this->processUnit($unit, $fileReport);
     }
     foreach ($file->getFunctions() as $function) {
         $this->processFunction($function, $fileReport);
     }
     foreach ($file->getCoverageData() as $line => $tests) {
         if (!is_array($tests) || count($tests) == 0) {
             continue;
         }
         $coverage = $fileReport->getLineCoverage($line);
         foreach ($tests as $test) {
             $coverage->addTest($test);
         }
         $coverage->finalize();
     }
     $this->initTargetDirectory($this->target . dirname($file->getId()) . '/');
     $fileDom = $fileReport->asDom();
     $fileDom->formatOutput = true;
     $fileDom->preserveWhiteSpace = false;
     $fileDom->save($this->target . $file->getId() . '.xml');
 }
Ejemplo n.º 2
0
 public function testURLConstruction()
 {
     $root = new Root();
     $root->setScheme('s://');
     $root->addDirectory($dir = new Directory('dir'));
     $dir->addDirectory($dir = new Directory('dir'));
     $dir->addFile($file = new File('file'));
     $this->assertEquals('s://dir/dir/file', $file->url());
 }
Ejemplo n.º 3
0
 /**
  * @param Root $root
  *
  * @return Root
  */
 private function hydrateDirectory(Root $root)
 {
     $basePath = $root->getBasePath();
     foreach ($root->getFileCollection() as $file) {
         $dirpath = $file->getDirectory($basePath);
         if ($root->hasDirectory($dirpath)) {
             $directory = $root->getDirectoryByName($dirpath);
         } else {
             $directory = new Directory();
             $directory->setPath($dirpath);
         }
         $directory->addFile($file);
         $root->addDirectory($directory);
     }
     return $root;
 }