99 */
1010namespace SebastianBergmann \CodeCoverage \Report \Cobertura ;
1111
12+ use Composer \InstalledVersions ;
1213use DOMDocument ;
1314use DOMElement ;
1415use DOMImplementation ;
@@ -31,38 +32,14 @@ class CoberturaCoverage extends CoberturaElement
3132 */
3233 private $ timestamp ;
3334
34- /**
35- * @var int
36- */
37- private $ methodsValid ;
38-
39- /**
40- * @var int
41- */
42- private $ methodsCovered ;
43-
44- /**
45- * @var int
46- */
47- private $ classesValid ;
48-
49- /**
50- * @var int
51- */
52- private $ classesCovered ;
53-
5435 public static function create (Directory $ report ): self
5536 {
5637 $ coverage = new self (
5738 time (),
5839 $ report ->numberOfExecutableLines (),
5940 $ report ->numberOfExecutedLines (),
6041 $ report ->numberOfExecutableBranches (),
61- $ report ->numberOfExecutedBranches (),
62- $ report ->numberOfFunctionsAndMethods (),
63- $ report ->numberOfTestedFunctionsAndMethods (),
64- $ report ->numberOfClassesAndTraits (),
65- $ report ->numberOfTestedClassesAndTraits ()
42+ $ report ->numberOfExecutedBranches ()
6643 );
6744
6845 foreach ($ report as $ item ) {
@@ -81,17 +58,9 @@ private function __construct(
8158 int $ linesValid ,
8259 int $ linesCovered ,
8360 int $ branchesValid ,
84- int $ branchesCovered ,
85- int $ methodsValid ,
86- int $ methodsCovered ,
87- int $ classesValid ,
88- int $ classesCovered
61+ int $ branchesCovered
8962 ) {
90- $ this ->timestamp = $ timestamp ;
91- $ this ->methodsValid = $ methodsValid ;
92- $ this ->methodsCovered = $ methodsCovered ;
93- $ this ->classesValid = $ classesValid ;
94- $ this ->classesCovered = $ classesCovered ;
63+ $ this ->timestamp = $ timestamp ;
9564 parent ::__construct ($ linesValid , $ linesCovered , $ branchesValid , $ branchesCovered );
9665 }
9766
@@ -110,22 +79,20 @@ public function generateDocument(): DOMDocument
11079 $ document ->encoding = 'UTF-8 ' ;
11180 $ document ->formatOutput = true ;
11281
113- $ methodRate = $ this ->methodsValid === 0 ? 0 : $ this ->methodsCovered / $ this ->methodsValid ;
114- $ classRate = $ this ->classesValid === 0 ? 0 : $ this ->classesCovered / $ this ->classesValid ;
82+ $ comment = $ document ->createComment (sprintf (
83+ 'Cobertura coverage report generated by the PHP library "%s" on %s. ' ,
84+ InstalledVersions::getRootPackage ()['name ' ],
85+ date ('c ' , $ this ->timestamp ),
86+ ));
87+ $ document ->appendChild ($ comment );
11588
11689 $ coverageElement = $ document ->createElement ('coverage ' );
11790 $ coverageElement ->setAttribute ('line-rate ' , (string ) $ this ->lineRate ());
11891 $ coverageElement ->setAttribute ('branch-rate ' , (string ) $ this ->branchRate ());
119- $ coverageElement ->setAttribute ('method-rate ' , (string ) $ methodRate );
120- $ coverageElement ->setAttribute ('class-rate ' , (string ) $ classRate );
12192 $ coverageElement ->setAttribute ('lines-covered ' , (string ) $ this ->linesCovered );
12293 $ coverageElement ->setAttribute ('lines-valid ' , (string ) $ this ->linesValid );
12394 $ coverageElement ->setAttribute ('branches-covered ' , (string ) $ this ->branchesCovered );
12495 $ coverageElement ->setAttribute ('branches-valid ' , (string ) $ this ->branchesValid );
125- $ coverageElement ->setAttribute ('methods-covered ' , (string ) $ this ->methodsCovered );
126- $ coverageElement ->setAttribute ('methods-valid ' , (string ) $ this ->methodsValid );
127- $ coverageElement ->setAttribute ('classes-covered ' , (string ) $ this ->classesCovered );
128- $ coverageElement ->setAttribute ('classes-valid ' , (string ) $ this ->classesValid );
12996 $ coverageElement ->setAttribute ('complexity ' , (string ) $ this ->complexity ());
13097 $ coverageElement ->setAttribute ('version ' , '0.4 ' );
13198 $ coverageElement ->setAttribute ('timestamp ' , (string ) $ this ->timestamp );
0 commit comments