• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

PHPCSStandards / PHP_CodeSniffer / 11545068143
79%

Build:
DEFAULT BRANCH: master
Ran 28 Oct 2024 12:26AM UTC
Jobs 3
Files 308
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Oct 2024 12:22AM UTC coverage: 75.842% (+0.001%) from 75.841%
11545068143

push

github

jrfnl
Generic/RequireExplicitBooleanOperatorPrecedence: remove
unreachable condition

This commit reverts the changes to the
`Generic.CodeAnalysis.RequireExplicitBooleanOperatorPrecedence` sniff
introduced in
https://github.com/PHPCSStandards/PHPCSExtra/pull/271/commits/7b38efb98.
The sniff's tests remain relevant, so they were preserved.

The original commit was added to fix false positives that the sniff was
triggering when handling boolean operators inside a match (see
https://github.com/PHPCSStandards/PHPCSExtra/pull/271#pullrequestreview
-1634348864 and
https://github.com/PHPCSStandards/PHPCSExtra/pull/271#issuecomment-1729104556
). Example:

```php
match (true) {
    $a || ($b && $c) => true,
};
```

I believe the false positive was actually caused by a bug in
`File::findStartOfStatement()`. This bug was then fixed in
https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/502/commits/b82438f2e
which rendered the changes to the sniff itself unnecessary and the
removed condition unreachable.

Before this fix, when processing the code example above,
`File::findStartOfStatement()` returned the variable `$a` as the
start of the statement for the `&&` boolean operator. This meant that
`$previous` would be set to `||` and the removed condition would be
needed to ensure the sniff would bail instead of triggering an error.

After this fix, `File::findStartOfStatement()` returns `$b` as the start
of the statement and then `$previous` is set to `false` and the sniff
bails before reaching the removed condition.

Including `Tokens::$blockOpeners` in
`RequireExplicitBooleanOperatorPrecedenceSniff::$searchTargets` was
necessary only for the removed condition, so it was removed as well.

1 of 1 new or added line in 1 file covered. (100.0%)

23432 of 30896 relevant lines covered (75.84%)

63.14 hits per line

Jobs
ID Job ID Ran Files Coverage
1 php-5.4-custom-ini-false - 11545068143.1 28 Oct 2024 12:47AM UTC 0
69.5
GitHub Action Run
2 php-7.2-custom-ini-true - 11545068143.2 28 Oct 2024 12:27AM UTC 0
68.15
GitHub Action Run
3 php-8.3-custom-ini-false - 11545068143.3 28 Oct 2024 12:26AM UTC 0
71.1
GitHub Action Run
Source Files on build 11545068143
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #11545068143
  • 0f5680ac on github
  • Prev Build on master (#11525322753)
  • Next Build on master (#11568622716)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc