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'); }
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()); }
/** * @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; }