99 */
1010namespace SebastianBergmann \CodeCoverage \Report ;
1111
12+ use function assert ;
1213use function basename ;
1314use function count ;
1415use function dirname ;
@@ -189,7 +190,6 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string
189190 $ packages [$ namespace ]->setAttribute ('name ' , $ namespace );
190191
191192 $ xmlPackageMetrics = $ xmlDocument ->createElement ('metrics ' );
192- // @todo Set attributes to actual values
193193 $ xmlPackageMetrics ->setAttribute ('complexity ' , '0 ' );
194194 $ xmlPackageMetrics ->setAttribute ('elements ' , '0 ' );
195195 $ xmlPackageMetrics ->setAttribute ('coveredelements ' , '0 ' );
@@ -204,6 +204,20 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string
204204 $ xmlProject ->appendChild ($ packages [$ namespace ]);
205205 }
206206
207+ $ xmlPackageMetrics = $ packages [$ namespace ]->firstChild ;
208+
209+ assert ($ xmlPackageMetrics instanceof DOMElement);
210+
211+ $ xmlPackageMetrics ->setAttribute ('complexity ' , (string ) ((int ) $ xmlPackageMetrics ->getAttribute ('complexity ' ) + $ item ->cyclomaticComplexity ()));
212+ $ xmlPackageMetrics ->setAttribute ('elements ' , (string ) ((int ) $ xmlPackageMetrics ->getAttribute ('elements ' ) + $ item ->numberOfMethods () + $ item ->numberOfExecutableLines () + $ item ->numberOfExecutableBranches ()));
213+ $ xmlPackageMetrics ->setAttribute ('coveredelements ' , (string ) ((int ) $ xmlPackageMetrics ->getAttribute ('coveredelements ' ) + $ item ->numberOfTestedMethods () + $ item ->numberOfExecutedLines () + $ item ->numberOfExecutedBranches ()));
214+ $ xmlPackageMetrics ->setAttribute ('conditionals ' , (string ) ((int ) $ xmlPackageMetrics ->getAttribute ('conditionals ' ) + $ item ->numberOfExecutableBranches ()));
215+ $ xmlPackageMetrics ->setAttribute ('coveredconditionals ' , (string ) ((int ) $ xmlPackageMetrics ->getAttribute ('coveredconditionals ' ) + $ item ->numberOfExecutedBranches ()));
216+ $ xmlPackageMetrics ->setAttribute ('statements ' , (string ) ((int ) $ xmlPackageMetrics ->getAttribute ('statements ' ) + $ item ->numberOfExecutableLines ()));
217+ $ xmlPackageMetrics ->setAttribute ('coveredstatements ' , (string ) ((int ) $ xmlPackageMetrics ->getAttribute ('coveredstatements ' ) + $ item ->numberOfExecutedLines ()));
218+ $ xmlPackageMetrics ->setAttribute ('methods ' , (string ) ((int ) $ xmlPackageMetrics ->getAttribute ('methods ' ) + $ item ->numberOfMethods ()));
219+ $ xmlPackageMetrics ->setAttribute ('coveredmethods ' , (string ) ((int ) $ xmlPackageMetrics ->getAttribute ('coveredmethods ' ) + $ item ->numberOfTestedMethods ()));
220+
207221 $ packages [$ namespace ]->appendChild ($ xmlFile );
208222 }
209223
0 commit comments