2
2
3
3
namespace LiveCodeCoverage ;
4
4
5
- use PHPUnit \Util \Configuration ;
5
+ use PHPUnit \TextUI \Configuration \Configuration ;
6
+ use PHPUnit \TextUI \Configuration \Loader ;
6
7
use SebastianBergmann \CodeCoverage \CodeCoverage ;
7
8
8
9
final class CodeCoverageFactory
@@ -15,54 +16,53 @@ public static function createFromPhpUnitConfiguration($phpunitFilePath)
15
16
{
16
17
$ codeCoverage = self ::createDefault ();
17
18
18
- // Accomodate for PHPUnit 5.7
19
- if (!class_exists ('PHPUnit\Util\Configuration ' )) {
20
- class_alias ('PHPUnit_Util_Configuration ' , 'PHPUnit\Util\Configuration ' );
21
- }
22
-
23
- self ::configure ($ codeCoverage , Configuration::getInstance ($ phpunitFilePath ));
19
+ $ loader = new Loader ();
20
+ self ::configure ($ codeCoverage , $ loader ->load ($ phpunitFilePath ));
24
21
25
22
return $ codeCoverage ;
26
23
}
27
24
28
25
private static function configure (CodeCoverage $ codeCoverage , Configuration $ configuration )
29
26
{
30
- $ filter = $ codeCoverage ->filter ();
31
- $ filterConfiguration = $ configuration ->getFilterConfiguration ();
27
+ $ codeCoverageFilter = $ codeCoverage ->filter ();
28
+ $ filterConfiguration = $ configuration ->filter ();
32
29
33
30
// The following code is copied from PHPUnit\TextUI\TestRunner
34
31
35
- $ codeCoverage ->setAddUncoveredFilesFromWhitelist (
36
- $ filterConfiguration ['whitelist ' ]['addUncoveredFilesFromWhitelist ' ]
37
- );
32
+ if ($ filterConfiguration ->hasNonEmptyWhitelist ()) {
33
+ $ codeCoverage ->setAddUncoveredFilesFromWhitelist (
34
+ $ filterConfiguration ->addUncoveredFilesFromWhitelist ()
35
+ );
38
36
39
- $ codeCoverage ->setProcessUncoveredFilesFromWhitelist (
40
- $ filterConfiguration ['whitelist ' ]['processUncoveredFilesFromWhitelist ' ]
41
- );
37
+ $ codeCoverage ->setProcessUncoveredFilesFromWhitelist (
38
+ $ filterConfiguration ->processUncoveredFilesFromWhitelist ()
39
+ );
40
+ }
42
41
43
- foreach ($ filterConfiguration[ ' whitelist ' ][ ' include ' ][ ' directory ' ] as $ dir ) {
44
- $ filter ->addDirectoryToWhitelist (
45
- $ dir [ ' path ' ] ,
46
- $ dir [ ' suffix ' ] ,
47
- $ dir [ ' prefix ' ]
42
+ foreach ($ filterConfiguration-> directories () as $ directory ) {
43
+ $ codeCoverageFilter ->addDirectoryToWhitelist (
44
+ $ directory -> path () ,
45
+ $ directory -> suffix () ,
46
+ $ directory -> prefix ()
48
47
);
49
48
}
50
49
51
- foreach ($ filterConfiguration[ ' whitelist ' ][ ' include ' ][ ' file ' ] as $ file ) {
52
- $ filter ->addFileToWhitelist ($ file );
50
+ foreach ($ filterConfiguration-> files () as $ file ) {
51
+ $ codeCoverageFilter ->addFileToWhitelist ($ file-> path () );
53
52
}
54
53
55
- foreach ($ filterConfiguration[ ' whitelist ' ][ ' exclude ' ][ ' directory ' ] as $ dir ) {
56
- $ filter ->removeDirectoryFromWhitelist (
57
- $ dir [ ' path ' ] ,
58
- $ dir [ ' suffix ' ] ,
59
- $ dir [ ' prefix ' ]
54
+ foreach ($ filterConfiguration-> excludeDirectories () as $ directory ) {
55
+ $ codeCoverageFilter ->removeDirectoryFromWhitelist (
56
+ $ directory -> path () ,
57
+ $ directory -> suffix () ,
58
+ $ directory -> prefix ()
60
59
);
61
60
}
62
61
63
- foreach ($ filterConfiguration[ ' whitelist ' ][ ' exclude ' ][ ' file ' ] as $ file ) {
64
- $ filter ->removeFileFromWhitelist ($ file );
62
+ foreach ($ filterConfiguration-> excludeFiles () as $ file ) {
63
+ $ codeCoverageFilter ->removeFileFromWhitelist ($ file-> path () );
65
64
}
65
+
66
66
}
67
67
68
68
/**
0 commit comments