Billm has uploaded a new change for review.
https://gerrit.wikimedia.org/r/277557
Change subject: Add ability for IfElseStructureSniff to detect multiple white
spaces after else
......................................................................
Add ability for IfElseStructureSniff to detect multiple white spaces after else
Now when writing code and adding multiple spaces after the else clause this fix
detects and warns that more than one space is used instead of only one space
Bug: T129840
Bug: T89682
Change-Id: I176705e9f99ca679fb74b1f3ce9d8a6ad5e9eccb
---
M MediaWiki/Sniffs/ControlStructures/IfElseStructureSniff.php
1 file changed, 26 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/codesniffer
refs/changes/57/277557/1
diff --git a/MediaWiki/Sniffs/ControlStructures/IfElseStructureSniff.php
b/MediaWiki/Sniffs/ControlStructures/IfElseStructureSniff.php
index 005da88..c1d896a 100644
--- a/MediaWiki/Sniffs/ControlStructures/IfElseStructureSniff.php
+++ b/MediaWiki/Sniffs/ControlStructures/IfElseStructureSniff.php
@@ -20,7 +20,9 @@
public function process( PHP_CodeSniffer_File $phpcsFile, $stackPtr ) {
$tokens = $phpcsFile->getTokens();
$prevToken = $tokens[$stackPtr - 1];
-
+ $nextToken = $tokens[$stackPtr + 1];
+
+ // Only one space expected before else and elseif structure
if ( $prevToken['code'] !== T_WHITESPACE
|| $prevToken['content'] !== " " ) {
$fix = $phpcsFile->addFixableWarning(
@@ -41,5 +43,28 @@
}
}
}
+
+
+ // The space after elseif structure to be processed in
SpaceAfterControlStructureSniff
+ if ( $tokens[$stackPtr]['code'] === T_ELSEIF ) {
+ return;
+ }
+ // Only one space expected after else structure
+ if ( $nextToken['code'] !== T_WHITESPACE ||
$nextToken['content'] !== " " ) {
+ $fix = $phpcsFile->addFixableWarning('Single space
expected after "%s"',$stackPtr + 1, 'SpaceAfterElse', [
$tokens[$stackPtr]['content'] ] ] );
+ if ($fix === true ) {
+ if ( $nextToken['code'] ===
T_OPEN_CURLY_BRACKET ) {
+ $phpcsFile->fixer->addContentAfter(
$stackPtr, ' ' );
+ } else {
+ // Replace all after whitespace with a
space
+ $phpcsFile->fixer->replaceToken(
$stackPtr + 1, ' ');
+ for ( $i = 2; $tokens[$stackPtr +
$i]['code'] === T_WHITESPACE; $i++ ) {
+
$phpcsFile->fixer->replaceToken( $stackPtr + $i, ' ');
+ }
+ }
+ }
+ }
}
}
+
+
--
To view, visit https://gerrit.wikimedia.org/r/277557
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I176705e9f99ca679fb74b1f3ce9d8a6ad5e9eccb
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/codesniffer
Gerrit-Branch: master
Gerrit-Owner: Billm <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits