2
2
3
3
namespace LiveCodeCoverage ;
4
4
5
- use PHPUnit \TextUI \Configuration \Configuration ;
6
- use PHPUnit \TextUI \Configuration \Loader ;
5
+ use PHPUnit \TextUI \XmlConfiguration \Configuration ;
6
+ use PHPUnit \TextUI \XmlConfiguration \Loader ;
7
7
use SebastianBergmann \CodeCoverage \CodeCoverage ;
8
+ use SebastianBergmann \CodeCoverage \Driver \Selector ;
9
+ use SebastianBergmann \CodeCoverage \Filter ;
8
10
9
11
final class CodeCoverageFactory
10
12
{
@@ -25,42 +27,45 @@ public static function createFromPhpUnitConfiguration($phpunitFilePath)
25
27
private static function configure (CodeCoverage $ codeCoverage , Configuration $ configuration )
26
28
{
27
29
$ codeCoverageFilter = $ codeCoverage ->filter ();
28
- $ filterConfiguration = $ configuration ->filter ();
30
+ $ codeCoverageConfiguration = $ configuration ->codeCoverage ();
29
31
30
32
// 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
+ }
31
39
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
+ }
40
45
}
41
46
42
- foreach ($ filterConfiguration ->directories () as $ directory ) {
43
- $ codeCoverageFilter ->addDirectoryToWhitelist (
47
+ foreach ($ codeCoverageConfiguration ->directories () as $ directory ) {
48
+ $ codeCoverageFilter ->includeDirectory (
44
49
$ directory ->path (),
45
50
$ directory ->suffix (),
46
51
$ directory ->prefix ()
47
52
);
48
53
}
49
54
50
- foreach ($ filterConfiguration ->files () as $ file ) {
51
- $ codeCoverageFilter ->addFileToWhitelist ($ file ->path ());
55
+ foreach ($ codeCoverageConfiguration ->files () as $ file ) {
56
+ $ codeCoverageFilter ->includeFile ($ file ->path ());
52
57
}
53
58
54
- foreach ($ filterConfiguration ->excludeDirectories () as $ directory ) {
55
- $ codeCoverageFilter ->removeDirectoryFromWhitelist (
59
+ foreach ($ codeCoverageConfiguration ->excludeDirectories () as $ directory ) {
60
+ $ codeCoverageFilter ->excludeDirectory (
56
61
$ directory ->path (),
57
62
$ directory ->suffix (),
58
63
$ directory ->prefix ()
59
64
);
60
65
}
61
66
62
- foreach ($ filterConfiguration ->excludeFiles () as $ file ) {
63
- $ codeCoverageFilter ->removeFileFromWhitelist ($ file ->path ());
67
+ foreach ($ codeCoverageConfiguration ->excludeFiles () as $ file ) {
68
+ $ codeCoverageFilter ->excludeFile ($ file ->path ());
64
69
}
65
70
66
71
}
@@ -70,6 +75,9 @@ private static function configure(CodeCoverage $codeCoverage, Configuration $con
70
75
*/
71
76
public static function createDefault ()
72
77
{
73
- return new CodeCoverage ();
78
+ $ filter = new Filter ();
79
+ $ driverSelector = new Selector ();
80
+ $ driver = $ driverSelector ->forLineCoverage ($ filter );
81
+ return new CodeCoverage ($ driver , $ filter );
74
82
}
75
83
}
0 commit comments