Skip to content

Commit 0229df3

Browse files
Add support for multiple coverage files passed as argument
1 parent a613e57 commit 0229df3

File tree

1 file changed

+31
-30
lines changed

1 file changed

+31
-30
lines changed

tests/Unit/Lib/IO/MetricsFactoryTest.php

+31-30
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,20 @@ public function testGetFilesMetrics(): void
3030
statements="50" coveredstatements="10"
3131
elements="0" coveredelements="0"/>
3232
</file>
33+
<file name="/API\\Example2.php">
34+
<metrics loc="11" ncloc="11" classes="0"
35+
methods="0" coveredmethods="0"
36+
conditionals="0" coveredconditionals="0"
37+
statements="50" coveredstatements="50"
38+
elements="0" coveredelements="0"/>
39+
</file>
40+
<file name="/API\\Example3.php">
41+
<metrics loc="11" ncloc="11" classes="0"
42+
methods="0" coveredmethods="0"
43+
conditionals="0" coveredconditionals="0"
44+
statements="50" coveredstatements="10"
45+
elements="0" coveredelements="0"/>
46+
</file>
3347
</project>
3448
</coverage>';
3549

@@ -46,48 +60,34 @@ public function testGetFilesMetrics(): void
4660
statements="50" coveredstatements="25"
4761
elements="0" coveredelements="0"/>
4862
</file>
63+
<file name="/API\\Example2.php">
64+
<metrics loc="11" ncloc="11" classes="0"
65+
methods="0" coveredmethods="0"
66+
conditionals="0" coveredconditionals="0"
67+
statements="50" coveredstatements="5"
68+
elements="0" coveredelements="0"/>
69+
</file>
4970
</project>
5071
</coverage>';
5172

5273
$dom2 = new DOMDocument();
5374
$dom2->loadXML($xml2);
5475

5576
$metrics = MetricsFactory::getFilesMetrics([$dom1, $dom2]);
56-
static::assertCount(1, $metrics);
77+
static::assertCount(3, $metrics);
5778

58-
$metric = reset($metrics);
79+
$metric = $metrics['/API/Example.php'];
5980
static::assertSame('/API/Example.php', $metric->getFilepath());
6081
static::assertSame([], $metric->getMethods());
6182
static::assertSame(50.0, $metric->getCoverage());
62-
}
63-
64-
/**
65-
* @covers ::getFileMetrics
66-
* @covers ::getMethodMetrics
67-
*/
68-
public function testGetFileMetrics(): void
69-
{
70-
$xml = '<?xml version="1.0" encoding="UTF-8"?>
71-
<coverage generated="1598702199">
72-
<project timestamp="1598702199">
73-
<file name="/API\\Example.php">
74-
<metrics loc="11" ncloc="11" classes="0"
75-
methods="0" coveredmethods="0"
76-
conditionals="0" coveredconditionals="0"
77-
statements="50" coveredstatements="10"
78-
elements="0" coveredelements="0"/>
79-
</file>
80-
</project>
81-
</coverage>';
82-
83-
$dom = new DOMDocument();
84-
$dom->loadXML($xml);
8583

86-
$metrics = MetricsFactory::getFileMetrics($dom);
87-
static::assertCount(1, $metrics);
84+
$metric = $metrics['/API/Example2.php'];
85+
static::assertSame('/API/Example2.php', $metric->getFilepath());
86+
static::assertSame([], $metric->getMethods());
87+
static::assertSame(100.0, $metric->getCoverage());
8888

89-
$metric = reset($metrics);
90-
static::assertSame('/API/Example.php', $metric->getFilepath());
89+
$metric = $metrics['/API/Example3.php'];
90+
static::assertSame('/API/Example3.php', $metric->getFilepath());
9191
static::assertSame([], $metric->getMethods());
9292
static::assertSame(20.0, $metric->getCoverage());
9393
}
@@ -126,6 +126,7 @@ public function testGetMethodMetrics(): void
126126
}
127127

128128
/**
129+
* @covers ::getFilesMetrics
129130
* @covers ::getFileMetrics
130131
*/
131132
public function testGetMetricsEmptyXmlShouldReturnEmptyArray(): void
@@ -138,6 +139,6 @@ public function testGetMetricsEmptyXmlShouldReturnEmptyArray(): void
138139
$dom = new DOMDocument();
139140
$dom->loadXML($xml);
140141

141-
static::assertCount(0, MetricsFactory::getFileMetrics($dom));
142+
static::assertCount(0, MetricsFactory::getFilesMetrics([$dom]));
142143
}
143144
}

0 commit comments

Comments
 (0)