function MoveCoverageDirectoriesToSource::migrate
Throws
Overrides Migration::migrate
File
-
vendor/
phpunit/ phpunit/ src/ TextUI/ Configuration/ Xml/ Migration/ Migrations/ MoveCoverageDirectoriesToSource.php, line 27
Class
- MoveCoverageDirectoriesToSource
- @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
Namespace
PHPUnit\TextUI\XmlConfigurationCode
public function migrate(DOMDocument $document) : void {
$source = $document->getElementsByTagName('source')
->item(0);
if ($source !== null) {
return;
}
$coverage = $document->getElementsByTagName('coverage')
->item(0);
if ($coverage === null) {
return;
}
$root = $document->documentElement;
assert($root instanceof DOMElement);
$source = $document->createElement('source');
$root->appendChild($source);
$xpath = new DOMXPath($document);
foreach ([
'include',
'exclude',
] as $element) {
foreach (SnapshotNodeList::fromNodeList($xpath->query('//coverage/' . $element)) as $node) {
$source->appendChild($node);
}
}
if ($coverage->childElementCount !== 0) {
return;
}
assert($coverage->parentNode !== null);
$coverage->parentNode
->removeChild($coverage);
}