-
-
Notifications
You must be signed in to change notification settings - Fork 89
Closed
Description
Describe the bug
While reviewing #538, I found another false positive in Squiz.PHP.DisallowMultipleAssignments when the code checks for default values. If the function is missing the closing parenthesis (which is a parse error but could happen during live coding), the sniff will incorrectly throw an error.
I will open a PR to fix this error once #538 is merged to avoid conflicts.
Code sample
<?php
function missingClosingParenthesis($a =To reproduce
Steps to reproduce the behavior:
- Create a file called
test.phpwith the code sample above. - Run
phpcs test.php --standard=Squiz --sniffs=Squiz.PHP.DisallowMultipleAssignments test.php - See error message displayed
FILE: test.php
----------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
----------------------------------------------------------------------
3 | ERROR | Assignments must be the first block of code on a line
----------------------------------------------------------------------
Expected behavior
The sniff should bail early if the function is missing the closing parenthesis instead of producing an error.
Versions (please complete the following information)
| Operating System | Ubuntu 24.04 |
| PHP version | 8.3 |
| PHP_CodeSniffer version | master |
| Standard | Squiz |
| Install type | git clone |
Please confirm
- I have searched the issue list and am not opening a duplicate issue.
- I have read the Contribution Guidelines and this is not a support question.
- 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.