Chris@0: Chris@0: * Chris@0: * For the full copyright and license information, please view the LICENSE Chris@0: * file that was distributed with this source code. Chris@0: */ Chris@0: Chris@0: /** Chris@0: * @since Class available since Release 2.0.0 Chris@0: */ Chris@0: class PHP_CodeCoverage_Report_XML_File Chris@0: { Chris@0: /** Chris@0: * @var DOMDocument Chris@0: */ Chris@0: protected $dom; Chris@0: Chris@0: /** Chris@0: * @var DOMElement Chris@0: */ Chris@0: protected $contextNode; Chris@0: Chris@0: public function __construct(DOMElement $context) Chris@0: { Chris@0: $this->dom = $context->ownerDocument; Chris@0: $this->contextNode = $context; Chris@0: } Chris@0: Chris@0: public function getTotals() Chris@0: { Chris@0: $totalsContainer = $this->contextNode->firstChild; Chris@0: Chris@0: if (!$totalsContainer) { Chris@0: $totalsContainer = $this->contextNode->appendChild( Chris@0: $this->dom->createElementNS( Chris@0: 'http://schema.phpunit.de/coverage/1.0', Chris@0: 'totals' Chris@0: ) Chris@0: ); Chris@0: } Chris@0: Chris@0: return new PHP_CodeCoverage_Report_XML_Totals($totalsContainer); Chris@0: } Chris@0: Chris@0: public function getLineCoverage($line) Chris@0: { Chris@0: $coverage = $this->contextNode->getElementsByTagNameNS( Chris@0: 'http://schema.phpunit.de/coverage/1.0', Chris@0: 'coverage' Chris@0: )->item(0); Chris@0: Chris@0: if (!$coverage) { Chris@0: $coverage = $this->contextNode->appendChild( Chris@0: $this->dom->createElementNS( Chris@0: 'http://schema.phpunit.de/coverage/1.0', Chris@0: 'coverage' Chris@0: ) Chris@0: ); Chris@0: } Chris@0: Chris@0: $lineNode = $coverage->appendChild( Chris@0: $this->dom->createElementNS( Chris@0: 'http://schema.phpunit.de/coverage/1.0', Chris@0: 'line' Chris@0: ) Chris@0: ); Chris@0: Chris@0: return new PHP_CodeCoverage_Report_XML_File_Coverage($lineNode, $line); Chris@0: } Chris@0: }