Move is_in_array_comparison() utility method to dedicated ContextHelper
+ fixes
#2234
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Move is_in_array_comparison() utility method to dedicated
ContextHelper
The
is_in_array_comparison()
utility method is only used by a small set of sniffs, so is better placed in a dedicated class.This commit moves the
is_in_array_comparison()
method and the associated$arrayCompareFunctions
property to the newWordPressCS\WordPress\Helpers\ContextHelper
class and starts using that class in the relevant sniffs.Related to #1465
This method will be tested via the
WordPress.Security.NonceVerification
sniff (via pre-existing and new tests).ContextHelper::is_in_array_comparison(): bug fix for case-insensitivity
Function names are case-insensitive. The
ContextHelper::is_in_function_call()
method already handles this correctly, but theContextHelper::is_in_array_comparison()
method did not, which could result inUndefined array key
error notices.Tested by adjusting one of the tests.
ContextHelper::is_in_array_comparison(): add support for PHP 8.0 named parameters
With named parameters, the function call may have two parameters, without the required
$filter_value
param being one of them. Would make for an invalid function call, but that's not the concern of this sniff.Fixed now by looking for a specific named parameter.
Includes tests in the
WordPress.Security.NonceVerification
test file (which include PHP 7.3+ trailing commas in function calls).