|
Ran
|
Jobs
3
|
Files
257
|
Run time
26s
|
Badge
README BADGES
|
push
github
Generic/ForLoopShouldBeWhileLoop: fix E_DEPRECATED error This commit fixes an issue in the sniff that could result in the following E_DEPRECATED error when running PHP 8.3: ``` Decrement on type null has no effect, this will change in the next major version of PHP src/Standards/Generic/Sniffs/CodeAnalysis/ForLoopShouldBeWhileLoopSniff.php:65 ``` This sniff relies on finding the position of the open and closing parentheses for a given `for` loop. However, the problem was that there was no defensive code for cases when the closing parenthesis is missing. The sniff would still work when running PHP >= 8.2, but on PHP 8.3 it would throw the deprecated message above. This would happen because since there is no closing parenthesis `$end` is set to null, and $next <= $end always evaluates to false (https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/84acf4e56/src/Standards/Generic/Sniffs/CodeAnalysis/ForLoopShouldBeWhileLoopSniff.php#L74). The issue was fixed by bailing early if the closing parenthesis is missing. A test with a `for` loop without the closing parenthesis was added.
15249 of 23641 relevant lines covered (64.5%)
6.05 hits per line
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | php-7.2-custom-ini-false - 7425037880.1 | 257 |
60.53 |
GitHub Action Run | |
| 2 | php-8.0-custom-ini-true - 7425037880.2 | 257 |
63.59 |
GitHub Action Run | |
| 3 | php-8.3-custom-ini-false - 7425037880.3 | 257 |
63.64 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
|---|