Skip to content

Commit 2c22732

Browse files
Merge branch '11.3'
2 parents 7cbb2a8 + 17bbefa commit 2c22732

File tree

5 files changed

+142
-59
lines changed

5 files changed

+142
-59
lines changed

tests/_files/CoveredClass.php

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,6 @@
99
*/
1010
namespace PHPUnit\TestFixture;
1111

12-
class CoveredParentClass
13-
{
14-
public function publicMethod(): void
15-
{
16-
$this->protectedMethod();
17-
}
18-
19-
protected function protectedMethod(): void
20-
{
21-
$this->privateMethod();
22-
}
23-
24-
private function privateMethod(): void
25-
{
26-
}
27-
}
28-
2912
final class CoveredClass extends CoveredParentClass
3013
{
3114
public function publicMethod(): void
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php declare(strict_types=1);
2+
/*
3+
* This file is part of PHPUnit.
4+
*
5+
* (c) Sebastian Bergmann <[email protected]>
6+
*
7+
* For the full copyright and license information, please view the LICENSE
8+
* file that was distributed with this source code.
9+
*/
10+
namespace PHPUnit\TestFixture;
11+
12+
final class CoveredClassUsingCoveredTrait
13+
{
14+
use CoveredTrait;
15+
16+
public function publicMethod(): void
17+
{
18+
}
19+
20+
protected function protectedMethod(): void
21+
{
22+
}
23+
24+
private function privateMethod(): void
25+
{
26+
}
27+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php declare(strict_types=1);
2+
/*
3+
* This file is part of PHPUnit.
4+
*
5+
* (c) Sebastian Bergmann <[email protected]>
6+
*
7+
* For the full copyright and license information, please view the LICENSE
8+
* file that was distributed with this source code.
9+
*/
10+
namespace PHPUnit\TestFixture;
11+
12+
use PHPUnit\Framework\Attributes\CoversClass;
13+
use PHPUnit\Framework\Attributes\UsesClass;
14+
use PHPUnit\Framework\TestCase;
15+
16+
#[CoversClass(CoveredClassUsingCoveredTrait::class)]
17+
#[UsesClass(CoveredClassUsingCoveredTrait::class)]
18+
final class CoveredClassUsingCoveredTraitTest extends TestCase
19+
{
20+
public function testSomething(): void
21+
{
22+
}
23+
}

tests/_files/CoveredParentClass.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php declare(strict_types=1);
2+
/*
3+
* This file is part of PHPUnit.
4+
*
5+
* (c) Sebastian Bergmann <[email protected]>
6+
*
7+
* For the full copyright and license information, please view the LICENSE
8+
* file that was distributed with this source code.
9+
*/
10+
namespace PHPUnit\TestFixture;
11+
12+
class CoveredParentClass
13+
{
14+
public function publicMethod(): void
15+
{
16+
$this->protectedMethod();
17+
}
18+
19+
protected function protectedMethod(): void
20+
{
21+
$this->privateMethod();
22+
}
23+
24+
private function privateMethod(): void
25+
{
26+
}
27+
}

tests/unit/Metadata/Api/CodeCoverageTest.php

Lines changed: 65 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
use PHPUnit\TestFixture\CoverageNoneTest;
3737
use PHPUnit\TestFixture\CoverageTraitMethodTest;
3838
use PHPUnit\TestFixture\CoverageTraitTest;
39+
use PHPUnit\TestFixture\CoveredClassUsingCoveredTraitTest;
3940
use PHPUnit\TestFixture\InterfaceAsTargetWithAttributeTest;
4041
use PHPUnit\TestFixture\InterfaceTargetTest;
4142
use PHPUnit\TestFixture\InvalidClassTargetWithAnnotationTest;
@@ -65,73 +66,92 @@ public static function linesToBeCoveredProvider(): array
6566

6667
[
6768
[
68-
TEST_FILES_PATH . 'CoveredClass.php' => array_merge(range(12, 27), range(29, 46)),
69+
TEST_FILES_PATH . 'CoveredClass.php' => array_merge(range(12, 29)),
70+
TEST_FILES_PATH . 'CoveredParentClass.php' => array_merge(range(12, 27)),
6971
],
7072
CoverageClassTest::class,
7173
'testSomething',
7274
],
7375

7476
[
7577
[
76-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
78+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
7779
],
7880
CoverageMethodTest::class,
7981
'testSomething',
8082
],
8183

8284
[
8385
[
84-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
86+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
8587
],
8688
CoverageMethodAnnotationTest::class,
8789
'testSomething',
8890
],
8991

9092
[
9193
[
92-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
94+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
9395
],
9496
CoverageMethodOneLineAnnotationTest::class,
9597
'testSomething',
9698
],
9799

98100
[
99101
[
100-
TEST_FILES_PATH . 'CoveredFunction.php' => range(10, 12),
102+
TEST_FILES_PATH . 'CoveredClass.php' => range(12, 29),
101103
],
102-
CoverageFunctionTest::class,
104+
NamespaceCoverageClassTest::class,
103105
'testSomething',
104106
],
105107

106108
[
107109
[
108-
TEST_FILES_PATH . 'CoveredClass.php' => range(29, 46),
110+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
109111
],
110-
NamespaceCoverageClassTest::class,
112+
NamespaceCoverageMethodTest::class,
111113
'testSomething',
112114
],
113115

114116
[
115117
[
116-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
118+
TEST_FILES_PATH . 'CoveredClass.php' => array_merge(range(14, 18), range(20, 24), range(26, 28)),
119+
TEST_FILES_PATH . 'CoveredParentClass.php' => array_merge(range(14, 17), range(19, 22), range(24, 26)),
117120
],
118-
NamespaceCoverageMethodTest::class,
121+
NamespaceCoverageCoversClassTest::class,
119122
'testSomething',
120123
],
121124

122125
[
123126
[
124-
TEST_FILES_PATH . 'CoveredClass.php' => array_merge(range(43, 45), range(37, 41), range(31, 35), range(24, 26), range(19, 22), range(14, 17)),
127+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
125128
],
126-
NamespaceCoverageCoversClassTest::class,
129+
NamespaceCoverageCoversClassPublicTest::class,
127130
'testSomething',
128131
],
129132

130133
[
131134
[
132-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
135+
TEST_FILES_PATH . 'CoveredClassUsingCoveredTrait.php' => range(12, 27),
136+
TEST_FILES_PATH . 'CoveredTrait.php' => range(12, 18),
133137
],
134-
NamespaceCoverageCoversClassPublicTest::class,
138+
CoveredClassUsingCoveredTraitTest::class,
139+
'testSomething',
140+
],
141+
142+
[
143+
[
144+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
145+
],
146+
CoverageMethodParenthesesTest::class,
147+
'testSomething',
148+
],
149+
150+
[
151+
[
152+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
153+
],
154+
CoverageMethodParenthesesWhitespaceTest::class,
135155
'testSomething',
136156
],
137157

@@ -149,7 +169,7 @@ public static function linesToBeCoveredProvider(): array
149169

150170
[
151171
[
152-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
172+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
153173
],
154174
CoverageCoversOverridesCoversNothingTest::class,
155175
'testSomething',
@@ -165,31 +185,23 @@ public static function linesToBeCoveredProvider(): array
165185
[
166186
TEST_FILES_PATH . 'CoveredFunction.php' => range(10, 12),
167187
],
168-
CoverageFunctionParenthesesTest::class,
188+
CoverageFunctionTest::class,
169189
'testSomething',
170190
],
171191

172192
[
173193
[
174194
TEST_FILES_PATH . 'CoveredFunction.php' => range(10, 12),
175195
],
176-
CoverageFunctionParenthesesWhitespaceTest::class,
177-
'testSomething',
178-
],
179-
180-
[
181-
[
182-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
183-
],
184-
CoverageMethodParenthesesTest::class,
196+
CoverageFunctionParenthesesTest::class,
185197
'testSomething',
186198
],
187199

188200
[
189201
[
190-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
202+
TEST_FILES_PATH . 'CoveredFunction.php' => range(10, 12),
191203
],
192-
CoverageMethodParenthesesWhitespaceTest::class,
204+
CoverageFunctionParenthesesWhitespaceTest::class,
193205
'testSomething',
194206
],
195207

@@ -238,65 +250,76 @@ public static function linesToBeUsedProvider(): array
238250

239251
[
240252
[
241-
TEST_FILES_PATH . 'CoveredClass.php' => array_merge(range(12, 27), range(29, 46)),
253+
TEST_FILES_PATH . 'CoveredClass.php' => array_merge(range(12, 29)),
254+
TEST_FILES_PATH . 'CoveredParentClass.php' => array_merge(range(12, 27)),
242255
],
243256
CoverageClassTest::class,
244257
'testSomething',
245258
],
246259

247260
[
248261
[
249-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
262+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
250263
],
251264
CoverageMethodTest::class,
252265
'testSomething',
253266
],
254267

255268
[
256269
[
257-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
270+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
258271
],
259272
CoverageMethodAnnotationTest::class,
260273
'testSomething',
261274
],
262275

263276
[
264277
[
265-
TEST_FILES_PATH . 'CoveredFunction.php' => range(10, 12),
278+
TEST_FILES_PATH . 'CoveredClass.php' => range(12, 29),
266279
],
267-
CoverageFunctionTest::class,
280+
NamespaceCoverageClassTest::class,
268281
'testSomething',
269282
],
270283

271284
[
272285
[
273-
TEST_FILES_PATH . 'CoveredClass.php' => range(29, 46),
286+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
274287
],
275-
NamespaceCoverageClassTest::class,
288+
NamespaceCoverageMethodTest::class,
276289
'testSomething',
277290
],
278291

279292
[
280293
[
281-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
294+
TEST_FILES_PATH . 'CoveredClass.php' => array_merge(range(14, 18), range(20, 24), range(26, 28)),
295+
TEST_FILES_PATH . 'CoveredParentClass.php' => array_merge(range(14, 17), range(19, 22), range(24, 26)),
282296
],
283-
NamespaceCoverageMethodTest::class,
297+
NamespaceCoverageCoversClassTest::class,
284298
'testSomething',
285299
],
286300

287301
[
288302
[
289-
TEST_FILES_PATH . 'CoveredClass.php' => array_merge(range(43, 45), range(37, 41), range(31, 35), range(24, 26), range(19, 22), range(14, 17)),
303+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
290304
],
291-
NamespaceCoverageCoversClassTest::class,
305+
NamespaceCoverageCoversClassPublicTest::class,
292306
'testSomething',
293307
],
294308

295309
[
296310
[
297-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
311+
TEST_FILES_PATH . 'CoveredClassUsingCoveredTrait.php' => range(12, 27),
312+
TEST_FILES_PATH . 'CoveredTrait.php' => range(12, 18),
298313
],
299-
NamespaceCoverageCoversClassPublicTest::class,
314+
CoveredClassUsingCoveredTraitTest::class,
315+
'testSomething',
316+
],
317+
318+
[
319+
[
320+
TEST_FILES_PATH . 'CoveredFunction.php' => range(10, 12),
321+
],
322+
CoverageFunctionTest::class,
300323
'testSomething',
301324
],
302325

@@ -318,15 +341,15 @@ public static function linesToBeUsedProvider(): array
318341

319342
[
320343
[
321-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
344+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
322345
],
323346
CoverageMethodParenthesesTest::class,
324347
'testSomething',
325348
],
326349

327350
[
328351
[
329-
TEST_FILES_PATH . 'CoveredClass.php' => range(31, 35),
352+
TEST_FILES_PATH . 'CoveredClass.php' => range(14, 18),
330353
],
331354
CoverageMethodParenthesesWhitespaceTest::class,
332355
'testSomething',

0 commit comments

Comments
 (0)