Fix conflict within PSR12.ControlStructures.ControlStructureSpacing #581
+96
−19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
While looking into a fixer conflict for the PSR12 standard regarding the
src/Standards/Squiz/Tests/ControlStructures/ForLoopDeclarationUnitTest.1.inc
file, it was noted that the fixer forPSR12.ControlStructures.ControlStructureSpacing
was conflicting with itself.For multi-line control structures, the first line of code must be on the next line after the control structure. This sniff correctly identified such cases. When the first line of code was on the same line as the control structure, the sniff correctly fixed this by adding a newline between these. However, when there were multiple blank lines between these, the fixer would continue adding new newlines.
This change fixes this bug by first removing all white-space before adding the one expected newline. Includes test.
Suggested changelog entry
PSR12.ControlStructures.ControlStructureSpacing
: correctly handle multiple empty newlines between the start of a multi-line control structure and the next line of code.Related issues/external references
#152
Types of changes
PR checklist