1818use PHPUnit \Framework \TestCase ;
1919use SebastianBergmann \CodeCoverage \Filter ;
2020use SebastianBergmann \CodeCoverage \StaticAnalysis \ParsingFileAnalyser ;
21+ use SebastianBergmann \CodeCoverage \TestFixture \Target \ChildClass ;
22+ use SebastianBergmann \CodeCoverage \TestFixture \Target \GrandParentClass ;
23+ use SebastianBergmann \CodeCoverage \TestFixture \Target \ParentClass ;
2124use SebastianBergmann \CodeCoverage \TestFixture \Target \T1 ;
2225use SebastianBergmann \CodeCoverage \TestFixture \Target \T2 ;
2326use SebastianBergmann \CodeCoverage \TestFixture \Target \TargetEnumeration ;
@@ -36,11 +39,14 @@ final class MapBuilderTest extends TestCase
3639 */
3740 public static function provider (): array
3841 {
39- $ file = realpath (__DIR__ . '/../../_files/source_with_interfaces_classes_traits_functions.php ' );
40- $ traitOne = realpath (__DIR__ . '/../../_files/Target/TraitOne.php ' );
41- $ traitTwo = realpath (__DIR__ . '/../../_files/Target/TraitTwo.php ' );
42- $ twoTraits = realpath (__DIR__ . '/../../_files/Target/two_traits.php ' );
43- $ enum = realpath (__DIR__ . '/../../_files/Target/TargetEnumeration.php ' );
42+ $ file = realpath (__DIR__ . '/../../_files/source_with_interfaces_classes_traits_functions.php ' );
43+ $ traitOne = realpath (__DIR__ . '/../../_files/Target/TraitOne.php ' );
44+ $ traitTwo = realpath (__DIR__ . '/../../_files/Target/TraitTwo.php ' );
45+ $ twoTraits = realpath (__DIR__ . '/../../_files/Target/two_traits.php ' );
46+ $ enum = realpath (__DIR__ . '/../../_files/Target/TargetEnumeration.php ' );
47+ $ grandParentClass = realpath (__DIR__ . '/../../_files/Target/GrandParentClass.php ' );
48+ $ parentClass = realpath (__DIR__ . '/../../_files/Target/ParentClass.php ' );
49+ $ childClass = realpath (__DIR__ . '/../../_files/Target/ChildClass.php ' );
4450
4551 return [
4652 'generic ' => [
@@ -84,6 +90,7 @@ public static function provider(): array
8490 $ file => array_merge (
8591 range (33 , 52 ),
8692 range (19 , 24 ),
93+ range (26 , 31 ),
8794 ),
8895 ],
8996 ],
@@ -319,6 +326,87 @@ public static function provider(): array
319326 $ enum ,
320327 ],
321328 ],
329+ 'class with parent classes ' => [
330+ [
331+ 'namespaces ' => [
332+ 'SebastianBergmann ' => [
333+ $ grandParentClass => range (4 , 9 ),
334+ $ parentClass => range (4 , 9 ),
335+ $ childClass => range (4 , 9 ),
336+ ],
337+ 'SebastianBergmann\CodeCoverage ' => [
338+ $ grandParentClass => range (4 , 9 ),
339+ $ parentClass => range (4 , 9 ),
340+ $ childClass => range (4 , 9 ),
341+ ],
342+ 'SebastianBergmann\CodeCoverage\TestFixture ' => [
343+ $ grandParentClass => range (4 , 9 ),
344+ $ parentClass => range (4 , 9 ),
345+ $ childClass => range (4 , 9 ),
346+ ],
347+ 'SebastianBergmann\CodeCoverage\TestFixture\Target ' => [
348+ $ grandParentClass => range (4 , 9 ),
349+ $ parentClass => range (4 , 9 ),
350+ $ childClass => range (4 , 9 ),
351+ ],
352+ ],
353+ 'traits ' => [
354+ ],
355+ 'classes ' => [
356+ GrandParentClass::class => [
357+ $ grandParentClass => range (4 , 9 ),
358+ ],
359+ ParentClass::class => [
360+ $ parentClass => range (4 , 9 ),
361+ $ grandParentClass => range (4 , 9 ),
362+ ],
363+ ChildClass::class => [
364+ $ childClass => range (4 , 9 ),
365+ $ parentClass => range (4 , 9 ),
366+ $ grandParentClass => range (4 , 9 ),
367+ ],
368+ ],
369+ 'classesThatExtendClass ' => [
370+ GrandParentClass::class => [
371+ $ parentClass => range (4 , 9 ),
372+ ],
373+ ParentClass::class => [
374+ $ childClass => range (4 , 9 ),
375+ ],
376+ ],
377+ 'classesThatImplementInterface ' => [
378+ ],
379+ 'methods ' => [
380+ GrandParentClass::class . '::one ' => [
381+ $ grandParentClass => range (6 , 8 ),
382+ ],
383+ ParentClass::class . '::two ' => [
384+ $ parentClass => range (6 , 8 ),
385+ ],
386+ ChildClass::class . '::three ' => [
387+ $ childClass => range (6 , 8 ),
388+ ],
389+ ],
390+ 'functions ' => [
391+ ],
392+ 'reverseLookup ' => [
393+ $ grandParentClass . ':6 ' => 'SebastianBergmann\CodeCoverage\TestFixture\Target\GrandParentClass::one ' ,
394+ $ grandParentClass . ':7 ' => 'SebastianBergmann\CodeCoverage\TestFixture\Target\GrandParentClass::one ' ,
395+ $ grandParentClass . ':8 ' => 'SebastianBergmann\CodeCoverage\TestFixture\Target\GrandParentClass::one ' ,
396+ $ parentClass . ':6 ' => 'SebastianBergmann\CodeCoverage\TestFixture\Target\ParentClass::two ' ,
397+ $ parentClass . ':7 ' => 'SebastianBergmann\CodeCoverage\TestFixture\Target\ParentClass::two ' ,
398+ $ parentClass . ':8 ' => 'SebastianBergmann\CodeCoverage\TestFixture\Target\ParentClass::two ' ,
399+ $ childClass . ':6 ' => 'SebastianBergmann\CodeCoverage\TestFixture\Target\ChildClass::three ' ,
400+ $ childClass . ':7 ' => 'SebastianBergmann\CodeCoverage\TestFixture\Target\ChildClass::three ' ,
401+ $ childClass . ':8 ' => 'SebastianBergmann\CodeCoverage\TestFixture\Target\ChildClass::three ' ,
402+ ],
403+ ],
404+ [
405+ $ grandParentClass ,
406+ $ parentClass ,
407+ $ childClass ,
408+ ],
409+ ],
322410 ];
323411 }
324412
0 commit comments