Skip to content

Commit

Permalink
Generic/DisallowYodaConditions: add code coverage ignore annotation
Browse files Browse the repository at this point in the history
This commit adds the `@codeCoverageIgnoreStart/@codeCoverageIgnoreEnd`
PHPUnit annotations to ignore, for the purposes of code coverage, a
line that can't be tested. I considered doing this initially when I
worked on improving code coverage for this sniff in PHPCSStandards#465, but I
wrongly assumed that was not an option due to the
`Squiz.Commenting.InlineComment.InvalidEndChar` error (which is part
of the standard used by PHPCS).

What I failed to notice back then is that I was adding the annotation
below a comment, and this triggers the error:

```
// Shouldn't be possible but may happen if external sniffs are using this method.
// @codeCoverageIgnoreStart
```

Adding the annotation before the comment as it is done in this commit
does not trigger the error because the `Squiz.Commenting.InlineComment`
sniff will only trigger the `InvalidEndChar` error if the first
character of the comment is a letter.

Using `return true; // @codeCoverageIgnore` is not an option because it
triggers `Squiz.Commenting.PostStatementComment.Found`.
  • Loading branch information
rodrigoprimo committed Jun 7, 2024
1 parent df258d4 commit 8457fd6
Showing 1 changed file with 2 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,10 @@ public function isArrayStatic(File $phpcsFile, $arrayToken)
$start = $tokens[$arrayToken]['parenthesis_opener'];
$end = $tokens[$arrayToken]['parenthesis_closer'];
} else {
// @codeCoverageIgnoreStart
// Shouldn't be possible but may happen if external sniffs are using this method.
return true;
// @codeCoverageIgnoreEnd
}

$staticTokens = Tokens::$emptyTokens;
Expand Down

0 comments on commit 8457fd6

Please sign in to comment.