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

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