Skip to content

Commit 20779b5

Browse files
committed
#767: Rename ClassBased/EnumCaseAdded to EnumBased/CaseAdded use in CompareClasses s
1 parent 6adaeb6 commit 20779b5

File tree

6 files changed

+35
-17
lines changed

6 files changed

+35
-17
lines changed

bin/roave-backward-compatibility-check.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Roave\BackwardCompatibility\CompareClasses;
1515
use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased;
1616
use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassConstantBased;
17+
use Roave\BackwardCompatibility\DetectChanges\BCBreak\EnumBased\CaseAdded;
1718
use Roave\BackwardCompatibility\DetectChanges\BCBreak\FunctionBased;
1819
use Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased;
1920
use Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased;
@@ -312,6 +313,7 @@ static function (string $installationPath) use ($composerIo): Installer {
312313
),
313314
)),
314315
))),
316+
new CaseAdded(),
315317
),
316318
);
317319

src/CompareClasses.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBased;
1111
use Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\InterfaceBased;
1212
use Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\TraitBased;
13+
use Roave\BackwardCompatibility\DetectChanges\BCBreak\EnumBased\EnumBased;
1314
use Roave\BetterReflection\Reflection\ReflectionClass;
1415
use Roave\BetterReflection\Reflector\Exception\IdentifierNotFound;
1516
use Roave\BetterReflection\Reflector\Reflector;
@@ -20,6 +21,7 @@ public function __construct(
2021
private ClassBased $classBasedComparisons,
2122
private InterfaceBased $interfaceBasedComparisons,
2223
private TraitBased $traitBasedComparisons,
24+
private EnumBased $enumBasedComparisons,
2325
) {
2426
}
2527

@@ -89,6 +91,12 @@ private function examineSymbol(
8991
return;
9092
}
9193

94+
if ($oldSymbol->isEnum()) {
95+
yield from ($this->enumBasedComparisons)($oldSymbol, $newClass);
96+
97+
return;
98+
}
99+
92100
yield from ($this->classBasedComparisons)($oldSymbol, $newClass);
93101
}
94102

src/DetectChanges/BCBreak/ClassBased/EnumCaseAdded.php renamed to src/DetectChanges/BCBreak/EnumBased/CaseAdded.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
declare(strict_types=1);
44

5-
namespace Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased;
5+
namespace Roave\BackwardCompatibility\DetectChanges\BCBreak\EnumBased;
66

77
use Roave\BackwardCompatibility\Change;
88
use Roave\BackwardCompatibility\Changes;
99
use Roave\BetterReflection\Reflection\ReflectionClass;
1010
use Roave\BetterReflection\Reflection\ReflectionEnum;
1111
use Roave\BetterReflection\Reflection\ReflectionEnumCase;
1212

13-
class EnumCaseAdded implements ClassBased
13+
class CaseAdded implements EnumBased
1414
{
1515
public function __invoke(ReflectionClass $fromEnum, ReflectionClass $toEnum): Changes
1616
{
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Roave\BackwardCompatibility\DetectChanges\BCBreak\EnumBased;
4+
5+
use Roave\BackwardCompatibility\Changes;
6+
use Roave\BetterReflection\Reflection\ReflectionClass;
7+
8+
interface EnumBased
9+
{
10+
public function __invoke(ReflectionClass $fromInterface, ReflectionClass $toInterface): Changes;
11+
}

test/unit/CompareClassesTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Roave\BackwardCompatibility\Changes;
1111
use Roave\BackwardCompatibility\CompareClasses;
1212
use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBased;
13+
use Roave\BackwardCompatibility\DetectChanges\BCBreak\EnumBased\EnumBased;
1314
use Roave\BackwardCompatibility\DetectChanges\BCBreak\InterfaceBased\InterfaceBased;
1415
use Roave\BackwardCompatibility\DetectChanges\BCBreak\TraitBased\TraitBased;
1516

@@ -27,6 +28,9 @@ final class CompareClassesTest extends TestCase
2728
/** @var TraitBased&MockObject */
2829
private TraitBased $traitBasedComparison;
2930

31+
/** @var EnumBased&MockObject */
32+
private EnumBased $enumBasedComparison;
33+
3034
private CompareClasses $compareClasses;
3135

3236
public static function setUpBeforeClass(): void
@@ -41,10 +45,12 @@ protected function setUp(): void
4145
$this->classBasedComparison = $this->createMock(ClassBased::class);
4246
$this->interfaceBasedComparison = $this->createMock(InterfaceBased::class);
4347
$this->traitBasedComparison = $this->createMock(TraitBased::class);
48+
$this->enumBasedComparison = $this->createMock(EnumBased::class);
4449
$this->compareClasses = new CompareClasses(
4550
$this->classBasedComparison,
4651
$this->interfaceBasedComparison,
4752
$this->traitBasedComparison,
53+
$this->enumBasedComparison,
4854
);
4955
}
5056

test/unit/DetectChanges/BCBreak/ClassBased/EnumCaseAddedTest.php renamed to test/unit/DetectChanges/BCBreak/EnumBased/EnumCaseAddedTest.php

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,17 @@
22

33
declare(strict_types=1);
44

5-
namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\ClassBased;
5+
namespace RoaveTest\BackwardCompatibility\DetectChanges\BCBreak\EnumBased;
66

77
use PHPUnit\Framework\TestCase;
88
use Roave\BackwardCompatibility\Change;
9-
use Roave\BackwardCompatibility\Changes;
10-
use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ClassBecameTrait;
11-
use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\EnumCaseAdded;
12-
use Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\MethodChanged;
13-
use Roave\BackwardCompatibility\DetectChanges\BCBreak\MethodBased\MethodBased;
9+
use Roave\BackwardCompatibility\DetectChanges\BCBreak\EnumBased\CaseAdded;
1410
use Roave\BetterReflection\BetterReflection;
1511
use Roave\BetterReflection\Reflection\ReflectionClass;
16-
use Roave\BetterReflection\Reflection\ReflectionMethod;
1712
use Roave\BetterReflection\Reflector\DefaultReflector;
1813
use Roave\BetterReflection\SourceLocator\Type\SingleFileSourceLocator;
19-
use Roave\BetterReflection\SourceLocator\Type\StringSourceLocator;
20-
use RoaveTest\BackwardCompatibility\Assertion;
2114

22-
use function strtolower;
23-
24-
/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\EnumCaseAdded */
15+
/** @covers \Roave\BackwardCompatibility\DetectChanges\BCBreak\EnumBased\CaseAdded */
2516
final class EnumCaseAddedTest extends TestCase
2617
{
2718
/**
@@ -35,7 +26,7 @@ public function testDiffs(
3526
array $expectedMessages,
3627
): void
3728
{
38-
$changes = (new EnumCaseAdded())($fromEnum, $toEnum);
29+
$changes = (new CaseAdded())($fromEnum, $toEnum);
3930

4031
self::assertSame(
4132
$expectedMessages,
@@ -58,11 +49,11 @@ public function enumsToBeTested()
5849
(new DefaultReflector(new SingleFileSourceLocator(
5950
__DIR__ . '/../../../../asset/api/old/EnumWithCasesBeingAdded.php',
6051
$locator,
61-
)))->reflectClass(\RoaveTestAsset\EnumWithCasesBeingAdded::class),
52+
)))->reflectClass('RoaveTestAsset\EnumWithCasesBeingAdded'),
6253
(new DefaultReflector(new SingleFileSourceLocator(
6354
__DIR__ . '/../../../../asset/api/new/EnumWithCasesBeingAdded.php',
6455
$locator,
65-
)))->reflectClass(\RoaveTestAsset\EnumWithCasesBeingAdded::class),
56+
)))->reflectClass('RoaveTestAsset\EnumWithCasesBeingAdded'),
6657
[
6758
'[BC] ADDED: Case RoaveTestAsset\EnumWithCasesBeingAdded::January was added',
6859
'[BC] ADDED: Case RoaveTestAsset\EnumWithCasesBeingAdded::February was added',

0 commit comments

Comments
 (0)