22
33namespace LiveCodeCoverage ;
44
5- use PHPUnit \TextUI \Configuration \Configuration ;
6- use PHPUnit \TextUI \Configuration \Loader ;
5+ use PHPUnit \TextUI \XmlConfiguration \Configuration ;
6+ use PHPUnit \TextUI \XmlConfiguration \Loader ;
77use SebastianBergmann \CodeCoverage \CodeCoverage ;
8+ use SebastianBergmann \CodeCoverage \Driver \Selector ;
9+ use SebastianBergmann \CodeCoverage \Filter ;
810
911final class CodeCoverageFactory
1012{
@@ -25,42 +27,45 @@ public static function createFromPhpUnitConfiguration($phpunitFilePath)
2527 private static function configure (CodeCoverage $ codeCoverage , Configuration $ configuration )
2628 {
2729 $ codeCoverageFilter = $ codeCoverage ->filter ();
28- $ filterConfiguration = $ configuration ->filter ();
30+ $ codeCoverageConfiguration = $ configuration ->codeCoverage ();
2931
3032 // The following code is copied from PHPUnit\TextUI\TestRunner
33+ if ($ codeCoverageConfiguration ->hasNonEmptyListOfFilesToBeIncludedInCodeCoverageReport ()) {
34+ if ($ codeCoverageConfiguration ->includeUncoveredFiles ()) {
35+ $ codeCoverage ->includeUncoveredFiles ();
36+ } else {
37+ $ codeCoverage ->excludeUncoveredFiles ();
38+ }
3139
32- if ($ filterConfiguration ->hasNonEmptyWhitelist ()) {
33- $ codeCoverage ->setAddUncoveredFilesFromWhitelist (
34- $ filterConfiguration ->addUncoveredFilesFromWhitelist ()
35- );
36-
37- $ codeCoverage ->setProcessUncoveredFilesFromWhitelist (
38- $ filterConfiguration ->processUncoveredFilesFromWhitelist ()
39- );
40+ if ($ codeCoverageConfiguration ->processUncoveredFiles ()) {
41+ $ codeCoverage ->processUncoveredFiles ();
42+ } else {
43+ $ codeCoverage ->doNotProcessUncoveredFiles ();
44+ }
4045 }
4146
42- foreach ($ filterConfiguration ->directories () as $ directory ) {
43- $ codeCoverageFilter ->addDirectoryToWhitelist (
47+ foreach ($ codeCoverageConfiguration ->directories () as $ directory ) {
48+ $ codeCoverageFilter ->includeDirectory (
4449 $ directory ->path (),
4550 $ directory ->suffix (),
4651 $ directory ->prefix ()
4752 );
4853 }
4954
50- foreach ($ filterConfiguration ->files () as $ file ) {
51- $ codeCoverageFilter ->addFileToWhitelist ($ file ->path ());
55+ foreach ($ codeCoverageConfiguration ->files () as $ file ) {
56+ $ codeCoverageFilter ->includeFile ($ file ->path ());
5257 }
5358
54- foreach ($ filterConfiguration ->excludeDirectories () as $ directory ) {
55- $ codeCoverageFilter ->removeDirectoryFromWhitelist (
59+ foreach ($ codeCoverageConfiguration ->excludeDirectories () as $ directory ) {
60+ $ codeCoverageFilter ->excludeDirectory (
5661 $ directory ->path (),
5762 $ directory ->suffix (),
5863 $ directory ->prefix ()
5964 );
6065 }
6166
62- foreach ($ filterConfiguration ->excludeFiles () as $ file ) {
63- $ codeCoverageFilter ->removeFileFromWhitelist ($ file ->path ());
67+ foreach ($ codeCoverageConfiguration ->excludeFiles () as $ file ) {
68+ $ codeCoverageFilter ->excludeFile ($ file ->path ());
6469 }
6570
6671 }
@@ -70,6 +75,9 @@ private static function configure(CodeCoverage $codeCoverage, Configuration $con
7075 */
7176 public static function createDefault ()
7277 {
73- return new CodeCoverage ();
78+ $ filter = new Filter ();
79+ $ driverSelector = new Selector ();
80+ $ driver = $ driverSelector ->forLineCoverage ($ filter );
81+ return new CodeCoverage ($ driver , $ filter );
7482 }
7583}
0 commit comments