Example #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');
 }