ConfigLoader   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 20
c 0
b 0
f 0
dl 0
loc 35
rs 10
wmc 6

1 Method

Rating   Name   Duplication   Size   Complexity  
A loadConfig() 0 30 6
1
<?php
2
3
namespace OckCyp\CoversValidator\Loader;
4
5
use OckCyp\CoversValidator\Model\ConfigurationHolder;
6
use PHPUnit\Util\Configuration;
0 ignored issues
show
Bug introduced by
The type PHPUnit\Util\Configuration was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
7
8
class ConfigLoader
9
{
10
    /**
11
     * Load configuration from file
12
     */
13
    public static function loadConfig(string $fileName): ConfigurationHolder
14
    {
15
        if (class_exists(Configuration::class)) {
16
            // @codeCoverageIgnoreStart
17
            $configuration = Configuration::getInstance($fileName);
18
            $filename = $configuration->getFilename();
19
            $phpunit = $configuration->getPHPUnitConfiguration();
20
            $bootstrap = '';
21
            if (isset($phpunit['bootstrap'])) {
22
                $bootstrap = $phpunit['bootstrap'];
23
            }
24
        } else {
25
            if (class_exists('PHPUnit\TextUI\Configuration\Loader', true)) {
26
                // PHPUnit < 9.3
27
                $loader = new \PHPUnit\TextUI\Configuration\Loader();
0 ignored issues
show
Bug introduced by
The type PHPUnit\TextUI\Configuration\Loader was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
28
            // @codeCoverageIgnoreEnd
29
            } elseif (class_exists('PHPUnit\TextUI\XmlConfiguration\Loader', true)) {
30
                // PHPUnit >= 9.3
31
                $loader = new \PHPUnit\TextUI\XmlConfiguration\Loader();
32
            } else {
33
                throw new \RuntimeException('Could not find PHPUnit configuration loader class'); // @codeCoverageIgnore
34
            }
35
36
            $configuration = $loader->load($fileName);
37
            $filename = $configuration->filename();
38
            $phpunit = $configuration->phpunit();
39
            $bootstrap = $phpunit->hasBootstrap() ? $phpunit->bootstrap() : null;
40
        }
41
42
        return new ConfigurationHolder($configuration, $filename, $bootstrap);
43
    }
44
}
45