diff --git a/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/AddParentSetupCallOnSetupRectorTest.php b/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/AddParentSetupCallOnSetupRectorTest.php deleted file mode 100644 index 07010b69..00000000 --- a/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/AddParentSetupCallOnSetupRectorTest.php +++ /dev/null @@ -1,28 +0,0 @@ -doTestFile($filePath); - } - - public static function provideData(): Iterator - { - return self::yieldFilesFromDirectory(__DIR__ . '/Fixture'); - } - - public function provideConfigFilePath(): string - { - return __DIR__ . '/config/configured_rule.php'; - } -} diff --git a/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/Fixture/missing_setup.php.inc b/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/Fixture/missing_setup.php.inc deleted file mode 100644 index cea4ba29..00000000 --- a/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/Fixture/missing_setup.php.inc +++ /dev/null @@ -1,30 +0,0 @@ - ------ - diff --git a/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/Fixture/missing_setup_with_other_stmt.php.inc b/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/Fixture/missing_setup_with_other_stmt.php.inc deleted file mode 100644 index f75eea9a..00000000 --- a/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/Fixture/missing_setup_with_other_stmt.php.inc +++ /dev/null @@ -1,30 +0,0 @@ - ------ - \ No newline at end of file diff --git a/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/Fixture/skip_setup_exists.php.inc b/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/Fixture/skip_setup_exists.php.inc deleted file mode 100644 index 149a387e..00000000 --- a/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/Fixture/skip_setup_exists.php.inc +++ /dev/null @@ -1,14 +0,0 @@ - diff --git a/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/config/configured_rule.php b/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/config/configured_rule.php deleted file mode 100644 index f8b4b73d..00000000 --- a/rules-tests/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector/config/configured_rule.php +++ /dev/null @@ -1,10 +0,0 @@ -rule(AddParentSetupCallOnSetupRector::class); -}; diff --git a/rules/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector.php b/rules/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector.php index db266275..4d736566 100644 --- a/rules/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector.php +++ b/rules/CodeQuality/Rector/Class_/AddParentSetupCallOnSetupRector.php @@ -5,30 +5,17 @@ namespace Rector\PHPUnit\CodeQuality\Rector\Class_; use PhpParser\Node; -use PhpParser\Node\Expr\StaticCall; -use PhpParser\Node\Identifier; -use PhpParser\Node\Name; use PhpParser\Node\Stmt\Class_; -use PhpParser\Node\Stmt\ClassMethod; -use PhpParser\Node\Stmt\Expression; -use Rector\PhpParser\Node\BetterNodeFinder; -use Rector\PHPUnit\NodeAnalyzer\TestsNodeAnalyzer; +use Rector\Exception\ShouldNotHappenException; use Rector\Rector\AbstractRector; -use Rector\ValueObject\MethodName; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; /** - * @see \Rector\PHPUnit\Tests\CodeQuality\Rector\Class_\AddParentSetupCallOnSetupRector\AddParentSetupCallOnSetupRectorTest + * @deprecated as parent setup call depends on the test. Sometimes its on purpose, sometimes not. Better handle manually */ final class AddParentSetupCallOnSetupRector extends AbstractRector { - public function __construct( - private readonly TestsNodeAnalyzer $testsNodeAnalyzer, - private readonly BetterNodeFinder $betterNodeFinder, - ) { - } - public function getRuleDefinition(): RuleDefinition { return new RuleDefinition( @@ -76,43 +63,8 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (! $this->testsNodeAnalyzer->isInTestClass($node)) { - return null; - } - - $setUpMethod = $node->getMethod(MethodName::SET_UP); - if (! $setUpMethod instanceof ClassMethod) { - return null; - } - - if ($setUpMethod->isAbstract() || $setUpMethod->stmts === null) { - return null; - } - - $isSetupExists = (bool) $this->betterNodeFinder->findFirstInFunctionLikeScoped( - $setUpMethod, - function (Node $subNode): bool { - if (! $subNode instanceof StaticCall) { - return false; - } - - if (! $this->isName($subNode->class, 'parent')) { - return false; - } - - return $this->isName($subNode->name, 'setUp'); - } + throw new ShouldNotHappenException( + sprintf('Rule "%s" is deprecated. Better add parent::setUp() manually where needed.', self::class) ); - - if ($isSetupExists) { - return null; - } - - $setUpMethod->stmts = [ - new Expression(new StaticCall(new Name('parent'), new Identifier('setUp'))), - ...$setUpMethod->stmts, - ]; - - return $node; } }