22
33namespace LiveCodeCoverage ;
44
5- use PHPUnit \Util \Configuration ;
5+ use PHPUnit \TextUI \Configuration \Configuration ;
6+ use PHPUnit \TextUI \Configuration \Loader ;
67use SebastianBergmann \CodeCoverage \CodeCoverage ;
78
89final class CodeCoverageFactory
@@ -15,54 +16,53 @@ public static function createFromPhpUnitConfiguration($phpunitFilePath)
1516 {
1617 $ codeCoverage = self ::createDefault ();
1718
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 ));
2421
2522 return $ codeCoverage ;
2623 }
2724
2825 private static function configure (CodeCoverage $ codeCoverage , Configuration $ configuration )
2926 {
30- $ filter = $ codeCoverage ->filter ();
31- $ filterConfiguration = $ configuration ->getFilterConfiguration ();
27+ $ codeCoverageFilter = $ codeCoverage ->filter ();
28+ $ filterConfiguration = $ configuration ->filter ();
3229
3330 // The following code is copied from PHPUnit\TextUI\TestRunner
3431
35- $ codeCoverage ->setAddUncoveredFilesFromWhitelist (
36- $ filterConfiguration ['whitelist ' ]['addUncoveredFilesFromWhitelist ' ]
37- );
32+ if ($ filterConfiguration ->hasNonEmptyWhitelist ()) {
33+ $ codeCoverage ->setAddUncoveredFilesFromWhitelist (
34+ $ filterConfiguration ->addUncoveredFilesFromWhitelist ()
35+ );
3836
39- $ codeCoverage ->setProcessUncoveredFilesFromWhitelist (
40- $ filterConfiguration ['whitelist ' ]['processUncoveredFilesFromWhitelist ' ]
41- );
37+ $ codeCoverage ->setProcessUncoveredFilesFromWhitelist (
38+ $ filterConfiguration ->processUncoveredFilesFromWhitelist ()
39+ );
40+ }
4241
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 ()
4847 );
4948 }
5049
51- foreach ($ filterConfiguration[ ' whitelist ' ][ ' include ' ][ ' file ' ] as $ file ) {
52- $ filter ->addFileToWhitelist ($ file );
50+ foreach ($ filterConfiguration-> files () as $ file ) {
51+ $ codeCoverageFilter ->addFileToWhitelist ($ file-> path () );
5352 }
5453
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 ()
6059 );
6160 }
6261
63- foreach ($ filterConfiguration[ ' whitelist ' ][ ' exclude ' ][ ' file ' ] as $ file ) {
64- $ filter ->removeFileFromWhitelist ($ file );
62+ foreach ($ filterConfiguration-> excludeFiles () as $ file ) {
63+ $ codeCoverageFilter ->removeFileFromWhitelist ($ file-> path () );
6564 }
65+
6666 }
6767
6868 /**
0 commit comments