Skip to content

fix(bridge-rector): drop #[\Override] left dangling after detaching from TestCase - #353

Merged
roxblnfk merged 1 commit into
1.xfrom
fix/rector-drop-stale-override
Sep 25, 2026
Merged

roxblnfk merged 1 commit into
1.xfrom
fix/rector-drop-stale-override

Conversation

@roxblnfk

Copy link
Copy Markdown
Member

🔍 What was changed

  • ExtendsTestCaseToTestoRector now drops #[\Override] from methods that override nothing once extends TestCase is removed: setUp(), tearDown(), setUpBeforeClass() and other TestCase hooks.
  • A method declared by an implemented interface keeps the attribute. If an interface can't be resolved, all #[\Override] attributes stay.

Why?

After conversion the class has no parent, so PHP rejects #[\Override] on the former TestCase hooks.

Checklist

  • How was this tested:
    • Unit tests added
    • Bridge/Rector and Bridge/Rector/Unit suites pass locally

… from `TestCase`

Once `extends TestCase` is removed, `#[\Override]` on `setUp()` and other `TestCase` hooks has no parent method and PHP rejects the class. Methods declared by an implemented interface keep it; an unresolvable interface keeps all of them.

Assisted-By: Claude Opus 5.5
@roxblnfk
roxblnfk requested a review from a team as a code owner September 25, 2026 17:50
@codecov

codecov Bot commented Sep 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@roxblnfk
roxblnfk merged commit 29fa870 into 1.x Sep 25, 2026
27 of 29 checks passed
@roxblnfk
roxblnfk deleted the fix/rector-drop-stale-override branch September 25, 2026 18:23
@roxblnfk roxblnfk mentioned this pull request Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant