Viewing file: Node.php (2.21 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php declare(strict_types=1); /* * This file is part of phpunit/php-code-coverage. * * (c) Sebastian Bergmann <sebastian@phpunit.de> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace SebastianBergmann\CodeCoverage\Report\Xml;
use DOMDocument; use DOMElement;
/** * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage */ abstract class Node { /** * @var DOMDocument */ private $dom;
/** * @var DOMElement */ private $contextNode;
public function __construct(DOMElement $context) { $this->setContextNode($context); }
public function dom(): DOMDocument { return $this->dom; }
public function totals(): Totals { $totalsContainer = $this->contextNode()->firstChild;
if (!$totalsContainer) { $totalsContainer = $this->contextNode()->appendChild( $this->dom->createElementNS( 'https://schema.phpunit.de/coverage/1.0', 'totals' ) ); }
return new Totals($totalsContainer); }
public function addDirectory(string $name): Directory { $dirNode = $this->dom()->createElementNS( 'https://schema.phpunit.de/coverage/1.0', 'directory' );
$dirNode->setAttribute('name', $name); $this->contextNode()->appendChild($dirNode);
return new Directory($dirNode); }
public function addFile(string $name, string $href): File { $fileNode = $this->dom()->createElementNS( 'https://schema.phpunit.de/coverage/1.0', 'file' );
$fileNode->setAttribute('name', $name); $fileNode->setAttribute('href', $href); $this->contextNode()->appendChild($fileNode);
return new File($fileNode); }
protected function setContextNode(DOMElement $context): void { $this->dom = $context->ownerDocument; $this->contextNode = $context; }
protected function contextNode(): DOMElement { return $this->contextNode; } }
|