-
- Notifications
You must be signed in to change notification settings - Fork 89
Open
Description
Describe the bug
The Generic.ControlStructures.DisallowYodaConditions sniff has a method called isArrayStatic() that determines what the sniff considers to be static arrays. When static arrays are found on the side of a condition, the sniff triggers an error. I would expect the examples below to be considered static arrays and to trigger an error, but they are not.
Code sample
[1, 2] === $value; [null] === $value;To reproduce
Steps to reproduce the behavior:
- Create a file called
test.phpwith the code sample above. - Run
phpcs --standard=Generic --sniffs=Generic.ControlStructures.DisallowYodaConditions tests.php - Confirm that no errors were displayed.
Expected behavior
I would expect the sniff to generate a Generic.ControlStructures.DisallowYodaConditions.Found error for each line in the code sample above. Similar to what happens, for example, with ['some string'] === $value.
Versions (please complete the following information)
| Operating System | Ubuntu 23.10 |
| PHP version | 8.3.4 |
| PHP_CodeSniffer version | master |
| Standard | generic |
| Install type | git clone |
Please confirm
- I have searched the issue list and am not opening a duplicate issue.
- I confirm that this bug is a bug in PHP_CodeSniffer and not in one of the external standards.
- I have verified the issue still exists in the
masterbranch of PHP_CodeSniffer.