jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/398621 )

Change subject: Ignore maintenance scripts in ClassMatchesFilenameSniff
......................................................................


Ignore maintenance scripts in ClassMatchesFilenameSniff

Bug: T178725
Change-Id: I78f03a028539e0313f96534490bf4fcda19160a8
---
M MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php
1 file changed, 28 insertions(+), 0 deletions(-)

Approvals:
  MaxSem: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php 
b/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php
index dea4edf..3ca3a2d 100644
--- a/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php
+++ b/MediaWiki/Sniffs/Files/ClassMatchesFilenameSniff.php
@@ -50,6 +50,15 @@
                $name = $phpcsFile->getDeclarationName( $stackPtr );
                if ( $base !== "$name.php" ) {
                        $wrongCase = strtolower( $base ) === strtolower( 
"$name.php" );
+                       if ( $wrongCase && $this->isMaintenanceScript( 
$phpcsFile ) ) {
+                               // Maintenance scripts follow the class name, 
but the first
+                               // letter is lowercase.
+                               $expected = lcfirst( $name );
+                               if ( $base === "$expected.php" ) {
+                                       // OK!
+                                       return;
+                               }
+                       }
                        $phpcsFile->addError(
                                "Class name '$name' does not match filename 
'$base'",
                                $stackPtr,
@@ -58,4 +67,23 @@
                }
        }
 
+       /**
+        * Figure out whether the file is a MediaWiki maintenance script
+        *
+        * @param File $phpcsFile File being checked
+        *
+        * @return bool
+        */
+       private function isMaintenanceScript( File $phpcsFile ) {
+               foreach ( $phpcsFile->getTokens() as $token ) {
+                       if ( $token['code'] === T_STRING
+                               && $token['content'] === 
'RUN_MAINTENANCE_IF_MAIN'
+                       ) {
+                               return true;
+                       }
+               }
+
+               return false;
+       }
+
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/398621
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I78f03a028539e0313f96534490bf4fcda19160a8
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/tools/codesniffer
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: MaxSem <[email protected]>
Gerrit-Reviewer: Umherirrender <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to