@@ -21,43 +21,24 @@ class DataProviderHelperFactory
2121
2222 private Parser $ parser ;
2323
24+ private PHPUnitVersionDetector $ PHPUnitVersionDetector ;
25+
2426 public function __construct (
2527 ReflectionProvider $ reflectionProvider ,
2628 FileTypeMapper $ fileTypeMapper ,
27- Parser $ parser
29+ Parser $ parser ,
30+ PHPUnitVersionDetector $ PHPUnitVersionDetector ,
2831 )
2932 {
3033 $ this ->reflectionProvider = $ reflectionProvider ;
3134 $ this ->fileTypeMapper = $ fileTypeMapper ;
3235 $ this ->parser = $ parser ;
36+ $ this ->PHPUnitVersionDetector = $ PHPUnitVersionDetector ;
3337 }
3438
3539 public function create (): DataProviderHelper
3640 {
37- $ phpUnit10OrNewer = false ;
38- if ($ this ->reflectionProvider ->hasClass (TestCase::class)) {
39- $ testCase = $ this ->reflectionProvider ->getClass (TestCase::class);
40- $ file = $ testCase ->getFileName ();
41- if ($ file !== null ) {
42- $ phpUnitRoot = dirname ($ file , 3 );
43- $ phpUnitComposer = $ phpUnitRoot . '/composer.json ' ;
44- if (is_file ($ phpUnitComposer )) {
45- $ composerJson = @file_get_contents ($ phpUnitComposer );
46- if ($ composerJson !== false ) {
47- $ json = json_decode ($ composerJson , true );
48- $ version = $ json ['extra ' ]['branch-alias ' ]['dev-main ' ] ?? null ;
49- if ($ version !== null ) {
50- $ majorVersion = (int ) explode ('. ' , $ version )[0 ];
51- if ($ majorVersion >= 10 ) {
52- $ phpUnit10OrNewer = true ;
53- }
54- }
55- }
56- }
57- }
58- }
59-
60- return new DataProviderHelper ($ this ->reflectionProvider , $ this ->fileTypeMapper , $ this ->parser , $ phpUnit10OrNewer );
41+ return new DataProviderHelper ($ this ->reflectionProvider , $ this ->fileTypeMapper , $ this ->parser , $ this ->PHPUnitVersionDetector ->isPHPUnit10OrNewer ());
6142 }
6243
6344}
0 commit comments