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_Totals Chris@0: { Chris@0: /** Chris@0: * @var DOMNode Chris@0: */ Chris@0: private $container; Chris@0: Chris@0: /** Chris@0: * @var DOMElement Chris@0: */ Chris@0: private $linesNode; Chris@0: Chris@0: /** Chris@0: * @var DOMElement Chris@0: */ Chris@0: private $methodsNode; Chris@0: Chris@0: /** Chris@0: * @var DOMElement Chris@0: */ Chris@0: private $functionsNode; Chris@0: Chris@0: /** Chris@0: * @var DOMElement Chris@0: */ Chris@0: private $classesNode; Chris@0: Chris@0: /** Chris@0: * @var DOMElement Chris@0: */ Chris@0: private $traitsNode; Chris@0: Chris@0: public function __construct(DOMElement $container) Chris@0: { Chris@0: $this->container = $container; Chris@0: $dom = $container->ownerDocument; Chris@0: Chris@0: $this->linesNode = $dom->createElementNS( Chris@0: 'http://schema.phpunit.de/coverage/1.0', Chris@0: 'lines' Chris@0: ); Chris@0: Chris@0: $this->methodsNode = $dom->createElementNS( Chris@0: 'http://schema.phpunit.de/coverage/1.0', Chris@0: 'methods' Chris@0: ); Chris@0: Chris@0: $this->functionsNode = $dom->createElementNS( Chris@0: 'http://schema.phpunit.de/coverage/1.0', Chris@0: 'functions' Chris@0: ); Chris@0: Chris@0: $this->classesNode = $dom->createElementNS( Chris@0: 'http://schema.phpunit.de/coverage/1.0', Chris@0: 'classes' Chris@0: ); Chris@0: Chris@0: $this->traitsNode = $dom->createElementNS( Chris@0: 'http://schema.phpunit.de/coverage/1.0', Chris@0: 'traits' Chris@0: ); Chris@0: Chris@0: $container->appendChild($this->linesNode); Chris@0: $container->appendChild($this->methodsNode); Chris@0: $container->appendChild($this->functionsNode); Chris@0: $container->appendChild($this->classesNode); Chris@0: $container->appendChild($this->traitsNode); Chris@0: } Chris@0: Chris@0: public function getContainer() Chris@0: { Chris@0: return $this->container; Chris@0: } Chris@0: Chris@0: public function setNumLines($loc, $cloc, $ncloc, $executable, $executed) Chris@0: { Chris@0: $this->linesNode->setAttribute('total', $loc); Chris@0: $this->linesNode->setAttribute('comments', $cloc); Chris@0: $this->linesNode->setAttribute('code', $ncloc); Chris@0: $this->linesNode->setAttribute('executable', $executable); Chris@0: $this->linesNode->setAttribute('executed', $executed); Chris@0: $this->linesNode->setAttribute( Chris@0: 'percent', Chris@0: PHP_CodeCoverage_Util::percent($executed, $executable, true) Chris@0: ); Chris@0: } Chris@0: Chris@0: public function setNumClasses($count, $tested) Chris@0: { Chris@0: $this->classesNode->setAttribute('count', $count); Chris@0: $this->classesNode->setAttribute('tested', $tested); Chris@0: $this->classesNode->setAttribute( Chris@0: 'percent', Chris@0: PHP_CodeCoverage_Util::percent($tested, $count, true) Chris@0: ); Chris@0: } Chris@0: Chris@0: public function setNumTraits($count, $tested) Chris@0: { Chris@0: $this->traitsNode->setAttribute('count', $count); Chris@0: $this->traitsNode->setAttribute('tested', $tested); Chris@0: $this->traitsNode->setAttribute( Chris@0: 'percent', Chris@0: PHP_CodeCoverage_Util::percent($tested, $count, true) Chris@0: ); Chris@0: } Chris@0: Chris@0: public function setNumMethods($count, $tested) Chris@0: { Chris@0: $this->methodsNode->setAttribute('count', $count); Chris@0: $this->methodsNode->setAttribute('tested', $tested); Chris@0: $this->methodsNode->setAttribute( Chris@0: 'percent', Chris@0: PHP_CodeCoverage_Util::percent($tested, $count, true) Chris@0: ); Chris@0: } Chris@0: Chris@0: public function setNumFunctions($count, $tested) Chris@0: { Chris@0: $this->functionsNode->setAttribute('count', $count); Chris@0: $this->functionsNode->setAttribute('tested', $tested); Chris@0: $this->functionsNode->setAttribute( Chris@0: 'percent', Chris@0: PHP_CodeCoverage_Util::percent($tested, $count, true) Chris@0: ); Chris@0: } Chris@0: }