9
9
*/
10
10
namespace SebastianBergmann \CodeCoverage \Report ;
11
11
12
+ use function assert ;
12
13
use function basename ;
13
14
use function count ;
14
15
use function dirname ;
@@ -189,7 +190,6 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string
189
190
$ packages [$ namespace ]->setAttribute ('name ' , $ namespace );
190
191
191
192
$ xmlPackageMetrics = $ xmlDocument ->createElement ('metrics ' );
192
- // @todo Set attributes to actual values
193
193
$ xmlPackageMetrics ->setAttribute ('complexity ' , '0 ' );
194
194
$ xmlPackageMetrics ->setAttribute ('elements ' , '0 ' );
195
195
$ xmlPackageMetrics ->setAttribute ('coveredelements ' , '0 ' );
@@ -204,6 +204,20 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string
204
204
$ xmlProject ->appendChild ($ packages [$ namespace ]);
205
205
}
206
206
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
+
207
221
$ packages [$ namespace ]->appendChild ($ xmlFile );
208
222
}
209
223
0 commit comments