annotate vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 1fec387a4317
children
rev   line source
Chris@14 1 <?php
Chris@14 2 /*
Chris@14 3 * This file is part of the php-code-coverage package.
Chris@14 4 *
Chris@14 5 * (c) Sebastian Bergmann <sebastian@phpunit.de>
Chris@14 6 *
Chris@14 7 * For the full copyright and license information, please view the LICENSE
Chris@14 8 * file that was distributed with this source code.
Chris@14 9 */
Chris@14 10
Chris@14 11 namespace SebastianBergmann\CodeCoverage\Report\Xml;
Chris@14 12
Chris@14 13 use SebastianBergmann\CodeCoverage\Util;
Chris@14 14
Chris@14 15 class Totals
Chris@14 16 {
Chris@14 17 /**
Chris@14 18 * @var \DOMNode
Chris@14 19 */
Chris@14 20 private $container;
Chris@14 21
Chris@14 22 /**
Chris@14 23 * @var \DOMElement
Chris@14 24 */
Chris@14 25 private $linesNode;
Chris@14 26
Chris@14 27 /**
Chris@14 28 * @var \DOMElement
Chris@14 29 */
Chris@14 30 private $methodsNode;
Chris@14 31
Chris@14 32 /**
Chris@14 33 * @var \DOMElement
Chris@14 34 */
Chris@14 35 private $functionsNode;
Chris@14 36
Chris@14 37 /**
Chris@14 38 * @var \DOMElement
Chris@14 39 */
Chris@14 40 private $classesNode;
Chris@14 41
Chris@14 42 /**
Chris@14 43 * @var \DOMElement
Chris@14 44 */
Chris@14 45 private $traitsNode;
Chris@14 46
Chris@14 47 public function __construct(\DOMElement $container)
Chris@14 48 {
Chris@14 49 $this->container = $container;
Chris@14 50 $dom = $container->ownerDocument;
Chris@14 51
Chris@14 52 $this->linesNode = $dom->createElementNS(
Chris@14 53 'http://schema.phpunit.de/coverage/1.0',
Chris@14 54 'lines'
Chris@14 55 );
Chris@14 56
Chris@14 57 $this->methodsNode = $dom->createElementNS(
Chris@14 58 'http://schema.phpunit.de/coverage/1.0',
Chris@14 59 'methods'
Chris@14 60 );
Chris@14 61
Chris@14 62 $this->functionsNode = $dom->createElementNS(
Chris@14 63 'http://schema.phpunit.de/coverage/1.0',
Chris@14 64 'functions'
Chris@14 65 );
Chris@14 66
Chris@14 67 $this->classesNode = $dom->createElementNS(
Chris@14 68 'http://schema.phpunit.de/coverage/1.0',
Chris@14 69 'classes'
Chris@14 70 );
Chris@14 71
Chris@14 72 $this->traitsNode = $dom->createElementNS(
Chris@14 73 'http://schema.phpunit.de/coverage/1.0',
Chris@14 74 'traits'
Chris@14 75 );
Chris@14 76
Chris@14 77 $container->appendChild($this->linesNode);
Chris@14 78 $container->appendChild($this->methodsNode);
Chris@14 79 $container->appendChild($this->functionsNode);
Chris@14 80 $container->appendChild($this->classesNode);
Chris@14 81 $container->appendChild($this->traitsNode);
Chris@14 82 }
Chris@14 83
Chris@14 84 public function getContainer()
Chris@14 85 {
Chris@14 86 return $this->container;
Chris@14 87 }
Chris@14 88
Chris@14 89 public function setNumLines($loc, $cloc, $ncloc, $executable, $executed)
Chris@14 90 {
Chris@14 91 $this->linesNode->setAttribute('total', $loc);
Chris@14 92 $this->linesNode->setAttribute('comments', $cloc);
Chris@14 93 $this->linesNode->setAttribute('code', $ncloc);
Chris@14 94 $this->linesNode->setAttribute('executable', $executable);
Chris@14 95 $this->linesNode->setAttribute('executed', $executed);
Chris@14 96 $this->linesNode->setAttribute(
Chris@14 97 'percent',
Chris@14 98 $executable === 0 ? 0 : \sprintf('%01.2F', Util::percent($executed, $executable, false))
Chris@14 99 );
Chris@14 100 }
Chris@14 101
Chris@14 102 public function setNumClasses($count, $tested)
Chris@14 103 {
Chris@14 104 $this->classesNode->setAttribute('count', $count);
Chris@14 105 $this->classesNode->setAttribute('tested', $tested);
Chris@14 106 $this->classesNode->setAttribute(
Chris@14 107 'percent',
Chris@14 108 $count === 0 ? 0 : \sprintf('%01.2F', Util::percent($tested, $count, false))
Chris@14 109 );
Chris@14 110 }
Chris@14 111
Chris@14 112 public function setNumTraits($count, $tested)
Chris@14 113 {
Chris@14 114 $this->traitsNode->setAttribute('count', $count);
Chris@14 115 $this->traitsNode->setAttribute('tested', $tested);
Chris@14 116 $this->traitsNode->setAttribute(
Chris@14 117 'percent',
Chris@14 118 $count === 0 ? 0 : \sprintf('%01.2F', Util::percent($tested, $count, false))
Chris@14 119 );
Chris@14 120 }
Chris@14 121
Chris@14 122 public function setNumMethods($count, $tested)
Chris@14 123 {
Chris@14 124 $this->methodsNode->setAttribute('count', $count);
Chris@14 125 $this->methodsNode->setAttribute('tested', $tested);
Chris@14 126 $this->methodsNode->setAttribute(
Chris@14 127 'percent',
Chris@14 128 $count === 0 ? 0 : \sprintf('%01.2F', Util::percent($tested, $count, false))
Chris@14 129 );
Chris@14 130 }
Chris@14 131
Chris@14 132 public function setNumFunctions($count, $tested)
Chris@14 133 {
Chris@14 134 $this->functionsNode->setAttribute('count', $count);
Chris@14 135 $this->functionsNode->setAttribute('tested', $tested);
Chris@14 136 $this->functionsNode->setAttribute(
Chris@14 137 'percent',
Chris@14 138 $count === 0 ? 0 : \sprintf('%01.2F', Util::percent($tested, $count, false))
Chris@14 139 );
Chris@14 140 }
Chris@14 141 }