annotate vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
rev   line source
Chris@0 1 <?php
Chris@0 2 /*
Chris@0 3 * This file is part of the PHP_CodeCoverage package.
Chris@0 4 *
Chris@0 5 * (c) Sebastian Bergmann <sebastian@phpunit.de>
Chris@0 6 *
Chris@0 7 * For the full copyright and license information, please view the LICENSE
Chris@0 8 * file that was distributed with this source code.
Chris@0 9 */
Chris@0 10
Chris@0 11 /**
Chris@0 12 * @since Class available since Release 2.0.0
Chris@0 13 */
Chris@0 14 class PHP_CodeCoverage_Report_XML_Node
Chris@0 15 {
Chris@0 16 /**
Chris@0 17 * @var DOMDocument
Chris@0 18 */
Chris@0 19 private $dom;
Chris@0 20
Chris@0 21 /**
Chris@0 22 * @var DOMElement
Chris@0 23 */
Chris@0 24 private $contextNode;
Chris@0 25
Chris@0 26 public function __construct(DOMElement $context)
Chris@0 27 {
Chris@0 28 $this->setContextNode($context);
Chris@0 29 }
Chris@0 30
Chris@0 31 protected function setContextNode(DOMElement $context)
Chris@0 32 {
Chris@0 33 $this->dom = $context->ownerDocument;
Chris@0 34 $this->contextNode = $context;
Chris@0 35 }
Chris@0 36
Chris@0 37 public function getDom()
Chris@0 38 {
Chris@0 39 return $this->dom;
Chris@0 40 }
Chris@0 41
Chris@0 42 protected function getContextNode()
Chris@0 43 {
Chris@0 44 return $this->contextNode;
Chris@0 45 }
Chris@0 46
Chris@0 47 public function getTotals()
Chris@0 48 {
Chris@0 49 $totalsContainer = $this->getContextNode()->firstChild;
Chris@0 50
Chris@0 51 if (!$totalsContainer) {
Chris@0 52 $totalsContainer = $this->getContextNode()->appendChild(
Chris@0 53 $this->dom->createElementNS(
Chris@0 54 'http://schema.phpunit.de/coverage/1.0',
Chris@0 55 'totals'
Chris@0 56 )
Chris@0 57 );
Chris@0 58 }
Chris@0 59
Chris@0 60 return new PHP_CodeCoverage_Report_XML_Totals($totalsContainer);
Chris@0 61 }
Chris@0 62
Chris@0 63 public function addDirectory($name)
Chris@0 64 {
Chris@0 65 $dirNode = $this->getDom()->createElementNS(
Chris@0 66 'http://schema.phpunit.de/coverage/1.0',
Chris@0 67 'directory'
Chris@0 68 );
Chris@0 69
Chris@0 70 $dirNode->setAttribute('name', $name);
Chris@0 71 $this->getContextNode()->appendChild($dirNode);
Chris@0 72
Chris@0 73 return new PHP_CodeCoverage_Report_XML_Directory($dirNode);
Chris@0 74 }
Chris@0 75
Chris@0 76 public function addFile($name, $href)
Chris@0 77 {
Chris@0 78 $fileNode = $this->getDom()->createElementNS(
Chris@0 79 'http://schema.phpunit.de/coverage/1.0',
Chris@0 80 'file'
Chris@0 81 );
Chris@0 82
Chris@0 83 $fileNode->setAttribute('name', $name);
Chris@0 84 $fileNode->setAttribute('href', $href);
Chris@0 85 $this->getContextNode()->appendChild($fileNode);
Chris@0 86
Chris@0 87 return new PHP_CodeCoverage_Report_XML_File($fileNode);
Chris@0 88 }
Chris@0 89 }