private function enrichByFile(fDOMDocument $dom) {
$fileNode = $dom->queryOne('//phpdox:file');
if (!$fileNode) {
return;
}
$fileInfo = new FileInfo($fileNode->getAttribute('path'));
$srcDir = $this->config->getSourceDirectory();
$paths = explode('/', (string)$fileInfo->getRelative($srcDir));
$file = $fileNode->getAttribute('file');
$paths = array_slice($paths, 1);
$query = sprintf('//pu:project/pu:directory[@name = "%s"]', $srcDir->getRealPath());
foreach($paths as $path) {
$query .= sprintf('/pu:directory[@name = "%s"]', $path);
}
$query .= sprintf('/pu:file[@name = "%s"]', $file);
$phpunitFileNode = $this->index->queryOne($query);
if (!$phpunitFileNode) {
return;
}
$refDom = $this->loadXML($phpunitFileNode->getAttribute('href'));
$this->processUnit($dom, $refDom);
}