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_Totals
|
Chris@0
|
15 {
|
Chris@0
|
16 /**
|
Chris@0
|
17 * @var DOMNode
|
Chris@0
|
18 */
|
Chris@0
|
19 private $container;
|
Chris@0
|
20
|
Chris@0
|
21 /**
|
Chris@0
|
22 * @var DOMElement
|
Chris@0
|
23 */
|
Chris@0
|
24 private $linesNode;
|
Chris@0
|
25
|
Chris@0
|
26 /**
|
Chris@0
|
27 * @var DOMElement
|
Chris@0
|
28 */
|
Chris@0
|
29 private $methodsNode;
|
Chris@0
|
30
|
Chris@0
|
31 /**
|
Chris@0
|
32 * @var DOMElement
|
Chris@0
|
33 */
|
Chris@0
|
34 private $functionsNode;
|
Chris@0
|
35
|
Chris@0
|
36 /**
|
Chris@0
|
37 * @var DOMElement
|
Chris@0
|
38 */
|
Chris@0
|
39 private $classesNode;
|
Chris@0
|
40
|
Chris@0
|
41 /**
|
Chris@0
|
42 * @var DOMElement
|
Chris@0
|
43 */
|
Chris@0
|
44 private $traitsNode;
|
Chris@0
|
45
|
Chris@0
|
46 public function __construct(DOMElement $container)
|
Chris@0
|
47 {
|
Chris@0
|
48 $this->container = $container;
|
Chris@0
|
49 $dom = $container->ownerDocument;
|
Chris@0
|
50
|
Chris@0
|
51 $this->linesNode = $dom->createElementNS(
|
Chris@0
|
52 'http://schema.phpunit.de/coverage/1.0',
|
Chris@0
|
53 'lines'
|
Chris@0
|
54 );
|
Chris@0
|
55
|
Chris@0
|
56 $this->methodsNode = $dom->createElementNS(
|
Chris@0
|
57 'http://schema.phpunit.de/coverage/1.0',
|
Chris@0
|
58 'methods'
|
Chris@0
|
59 );
|
Chris@0
|
60
|
Chris@0
|
61 $this->functionsNode = $dom->createElementNS(
|
Chris@0
|
62 'http://schema.phpunit.de/coverage/1.0',
|
Chris@0
|
63 'functions'
|
Chris@0
|
64 );
|
Chris@0
|
65
|
Chris@0
|
66 $this->classesNode = $dom->createElementNS(
|
Chris@0
|
67 'http://schema.phpunit.de/coverage/1.0',
|
Chris@0
|
68 'classes'
|
Chris@0
|
69 );
|
Chris@0
|
70
|
Chris@0
|
71 $this->traitsNode = $dom->createElementNS(
|
Chris@0
|
72 'http://schema.phpunit.de/coverage/1.0',
|
Chris@0
|
73 'traits'
|
Chris@0
|
74 );
|
Chris@0
|
75
|
Chris@0
|
76 $container->appendChild($this->linesNode);
|
Chris@0
|
77 $container->appendChild($this->methodsNode);
|
Chris@0
|
78 $container->appendChild($this->functionsNode);
|
Chris@0
|
79 $container->appendChild($this->classesNode);
|
Chris@0
|
80 $container->appendChild($this->traitsNode);
|
Chris@0
|
81 }
|
Chris@0
|
82
|
Chris@0
|
83 public function getContainer()
|
Chris@0
|
84 {
|
Chris@0
|
85 return $this->container;
|
Chris@0
|
86 }
|
Chris@0
|
87
|
Chris@0
|
88 public function setNumLines($loc, $cloc, $ncloc, $executable, $executed)
|
Chris@0
|
89 {
|
Chris@0
|
90 $this->linesNode->setAttribute('total', $loc);
|
Chris@0
|
91 $this->linesNode->setAttribute('comments', $cloc);
|
Chris@0
|
92 $this->linesNode->setAttribute('code', $ncloc);
|
Chris@0
|
93 $this->linesNode->setAttribute('executable', $executable);
|
Chris@0
|
94 $this->linesNode->setAttribute('executed', $executed);
|
Chris@0
|
95 $this->linesNode->setAttribute(
|
Chris@0
|
96 'percent',
|
Chris@0
|
97 PHP_CodeCoverage_Util::percent($executed, $executable, true)
|
Chris@0
|
98 );
|
Chris@0
|
99 }
|
Chris@0
|
100
|
Chris@0
|
101 public function setNumClasses($count, $tested)
|
Chris@0
|
102 {
|
Chris@0
|
103 $this->classesNode->setAttribute('count', $count);
|
Chris@0
|
104 $this->classesNode->setAttribute('tested', $tested);
|
Chris@0
|
105 $this->classesNode->setAttribute(
|
Chris@0
|
106 'percent',
|
Chris@0
|
107 PHP_CodeCoverage_Util::percent($tested, $count, true)
|
Chris@0
|
108 );
|
Chris@0
|
109 }
|
Chris@0
|
110
|
Chris@0
|
111 public function setNumTraits($count, $tested)
|
Chris@0
|
112 {
|
Chris@0
|
113 $this->traitsNode->setAttribute('count', $count);
|
Chris@0
|
114 $this->traitsNode->setAttribute('tested', $tested);
|
Chris@0
|
115 $this->traitsNode->setAttribute(
|
Chris@0
|
116 'percent',
|
Chris@0
|
117 PHP_CodeCoverage_Util::percent($tested, $count, true)
|
Chris@0
|
118 );
|
Chris@0
|
119 }
|
Chris@0
|
120
|
Chris@0
|
121 public function setNumMethods($count, $tested)
|
Chris@0
|
122 {
|
Chris@0
|
123 $this->methodsNode->setAttribute('count', $count);
|
Chris@0
|
124 $this->methodsNode->setAttribute('tested', $tested);
|
Chris@0
|
125 $this->methodsNode->setAttribute(
|
Chris@0
|
126 'percent',
|
Chris@0
|
127 PHP_CodeCoverage_Util::percent($tested, $count, true)
|
Chris@0
|
128 );
|
Chris@0
|
129 }
|
Chris@0
|
130
|
Chris@0
|
131 public function setNumFunctions($count, $tested)
|
Chris@0
|
132 {
|
Chris@0
|
133 $this->functionsNode->setAttribute('count', $count);
|
Chris@0
|
134 $this->functionsNode->setAttribute('tested', $tested);
|
Chris@0
|
135 $this->functionsNode->setAttribute(
|
Chris@0
|
136 'percent',
|
Chris@0
|
137 PHP_CodeCoverage_Util::percent($tested, $count, true)
|
Chris@0
|
138 );
|
Chris@0
|
139 }
|
Chris@0
|
140 }
|