|
10 | 10 |
|
11 | 11 | // $_SERVER['HTTP_X_CODECEPTION_CODECOVERAGE_DEBUG'] = 1; |
12 | 12 |
|
13 | | -use Codeception\Util\ReflectionHelper; |
14 | | -use PHPUnit\Runner\CodeCoverage as CodeCoverageRunner; |
| 13 | +use SebastianBergmann\CodeCoverage\CodeCoverage; |
15 | 14 | use SebastianBergmann\CodeCoverage\Driver\Driver; |
| 15 | +use SebastianBergmann\CodeCoverage\Driver\Selector; |
16 | 16 | use SebastianBergmann\CodeCoverage\Filter as CodeCoverageFilter; |
17 | 17 |
|
18 | 18 | if (isset($_COOKIE['CODECEPTION_CODECOVERAGE'])) { |
@@ -265,29 +265,24 @@ function __c3_factory($filename, $lock = false) |
265 | 265 | $pathCoverage = (bool)$settings['coverage']['path_coverage']; |
266 | 266 | } |
267 | 267 |
|
268 | | - if (class_exists(CodeCoverageRunner::class)) { |
269 | | - //PHPUnit 10+ |
270 | | - if (!CodeCoverageRunner::isActive()) { |
271 | | - ReflectionHelper::invokePrivateMethod( |
272 | | - null, |
273 | | - 'activate', |
274 | | - [ |
275 | | - new CodeCoverageFilter(), |
276 | | - $pathCoverage |
277 | | - ], |
278 | | - CodeCoverageRunner::class |
279 | | - ); |
| 268 | + if (class_exists(Selector::class)) { |
| 269 | + //php-code-coverage >= 9.1.10 |
| 270 | + $filter = new CodeCoverageFilter(); |
| 271 | + if ($pathCoverage) { |
| 272 | + $driver = (new Selector())->forLineAndPathCoverage($filter); |
| 273 | + } else { |
| 274 | + $driver = (new Selector())->forLineCoverage($filter); |
280 | 275 | } |
281 | | - $phpCoverage = CodeCoverageRunner::instance(); |
| 276 | + $phpCoverage = new CodeCoverage($driver, $filter); |
282 | 277 | } elseif (method_exists(Driver::class, 'forLineCoverage')) { |
283 | | - //php-code-coverage 9 |
| 278 | + //php-code-coverage 9.0.0 - 9.1.9 |
284 | 279 | $filter = new CodeCoverageFilter(); |
285 | 280 | if ($pathCoverage) { |
286 | 281 | $driver = Driver::forLineAndPathCoverage($filter); |
287 | 282 | } else { |
288 | 283 | $driver = Driver::forLineCoverage($filter); |
289 | 284 | } |
290 | | - $phpCoverage = new PHP_CodeCoverage($driver, $filter); |
| 285 | + $phpCoverage = new CodeCoverage($driver, $filter); |
291 | 286 | } else { |
292 | 287 | //php-code-coverage 8 or older |
293 | 288 | $phpCoverage = new PHP_CodeCoverage(); |
|
0 commit comments