diff --git a/WordPressVIPMinimum/Sniffs/Security/ProperEscapingFunctionSniff.php b/WordPressVIPMinimum/Sniffs/Security/ProperEscapingFunctionSniff.php index 9b9513f0..416ae604 100644 --- a/WordPressVIPMinimum/Sniffs/Security/ProperEscapingFunctionSniff.php +++ b/WordPressVIPMinimum/Sniffs/Security/ProperEscapingFunctionSniff.php @@ -97,6 +97,13 @@ class ProperEscapingFunctionSniff extends Sniff { */ private $in_short_echo = false; + /** + * Keep track of the current file, so we can reset $in_short_echo for each new file. + * + * @var string Absolute file name of the file being processed. Defaults to an empty string. + */ + private $current_file = ''; + /** * Returns an array of tokens this test wants to listen for. * @@ -119,6 +126,12 @@ public function register() { * @return void */ public function process_token( $stackPtr ) { + // Reset short echo context tracking variable for a new file. + if ( $this->phpcsFile->getFilename() !== $this->current_file ) { + $this->in_short_echo = false; + $this->current_file = $this->phpcsFile->getFilename(); + } + /* * Short open echo tags will act as an echo for the first expression and * allow for passing multiple comma-separated parameters. diff --git a/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.inc b/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.1.inc similarity index 100% rename from WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.inc rename to WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.1.inc diff --git a/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.2.inc b/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.2.inc new file mode 100644 index 00000000..c70d8c35 --- /dev/null +++ b/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.2.inc @@ -0,0 +1,8 @@ + + diff --git a/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.3.inc b/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.3.inc new file mode 100644 index 00000000..27fb4433 --- /dev/null +++ b/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.3.inc @@ -0,0 +1,11 @@ +

%2$s

', + esc_attr($class), + wp_kses_post($message) +); diff --git a/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.php b/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.php index 9a4b31c8..ba0c2679 100644 --- a/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.php +++ b/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.php @@ -21,43 +21,51 @@ class ProperEscapingFunctionUnitTest extends AbstractSniffUnitTest { /** * Returns the lines where errors should occur. * + * @param string $testFile The name of the file being tested. + * * @return array => */ - public function getErrorList() { - return [ - 3 => 1, - 5 => 1, - 15 => 1, - 17 => 1, - 21 => 1, - 23 => 1, - 33 => 1, - 37 => 1, - 41 => 1, - 45 => 1, - 48 => 1, - 62 => 1, - 63 => 1, - 64 => 1, - 65 => 1, - 67 => 1, - 68 => 1, - 69 => 1, - 72 => 1, - 73 => 1, - 74 => 1, - 75 => 1, - 76 => 1, - 77 => 1, - 78 => 1, - 79 => 1, - 80 => 1, - 82 => 1, - 92 => 1, - 97 => 1, - 102 => 1, - 104 => 1, - ]; + public function getErrorList( $testFile = '' ) { + switch ( $testFile ) { + case 'ProperEscapingFunctionUnitTest.1.inc': + return [ + 3 => 1, + 5 => 1, + 15 => 1, + 17 => 1, + 21 => 1, + 23 => 1, + 33 => 1, + 37 => 1, + 41 => 1, + 45 => 1, + 48 => 1, + 62 => 1, + 63 => 1, + 64 => 1, + 65 => 1, + 67 => 1, + 68 => 1, + 69 => 1, + 72 => 1, + 73 => 1, + 74 => 1, + 75 => 1, + 76 => 1, + 77 => 1, + 78 => 1, + 79 => 1, + 80 => 1, + 82 => 1, + 92 => 1, + 97 => 1, + 102 => 1, + 104 => 1, + ]; + + default: + return []; + } } /**