WordPress/WordPress-Coding-Standards

phpcs:enable breaks subsequent phpcs:ignore annotations

smileBeda opened this issue · 3 comments

Bug Description

When using the phpcs:disable, phpcs:enable pattern and subsequently an annotation phpcs:ignore is made, the phpcs:ignore is not ignoring the flag anymore.

A short example:

/**
 * Disable WPCS rules
 *
 * Note to reviewers:
 * (Whatever message here)
 * phpcs:disable WordPress.Security.NonceVerification.Recommended
 * phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotValidated
 */
[Whatever related code here]
/**
 * Enableble WPCS rules
 * phpcs:enable WordPress.Security.NonceVerification.Recommended
 * phpcs:enable WordPress.Security.ValidatedSanitizedInput.InputNotValidated
 */
[Some more code]
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
[Whatever other related code here]

In this example, the last annotation will not "work", meaning that [Whatever other related code here] is still flagged even if we ignore the specific rule.

This does not happen, if we do not use the disable/enable pattern prior to the ignore annotation.


I am aware that this might be a PHPCS issue rather than a WPCS issue, I have however not found any such related complaint when looking for this issue in PHPCS-only related topics.

Has anyone here experienced the same, and/or resolved it?
(other than just keep using enable/disable for all other annotations too)

jrfnl commented

@smileBeda This is 100% a PHPCS issue and nothing to do with WPCS.

I'm surprised to hear about this though and would like to see some real code to test with as I tested that feature extensively when it came out and fixed any and all bugs I could find at the time.

jrfnl commented

@smileBeda Just to satisfy my curiousity I've just tested this with a sniff I was working on and some test code for that sniff, using the pattern of annotations for your example, and I cannot reproduce the issue.

This will need a solid reproduction sample if you want to report this upstream (as otherwise I will have to close the issue there just the same).

jrfnl commented

Closing as wrong repo + not reproducable.