From: Kunal Mehta Date: Sat, 10 Feb 2018 06:21:19 +0000 (-0800) Subject: registration: Simplify extracting path based globals X-Git-Tag: 1.31.0-rc.0~642 X-Git-Url: https://git.cyclocoop.org/%27.WWW_URL.%27admin/?a=commitdiff_plain;h=d3b580977d71e1bf93279301d90790cf3916d2a3;p=lhc%2Fweb%2Fwiklou.git registration: Simplify extracting path based globals The code for ParserTestFiles and ServiceWiringFiles was identical, so unify it into one function. For most extensions, this should save two unnecessary function calls as a bonus. Change-Id: If5ed189f97b7d3b9cd7b550f3ad2e90abe30005d --- diff --git a/includes/registration/ExtensionProcessor.php b/includes/registration/ExtensionProcessor.php index fe617c54bb..0d0a6e4761 100644 --- a/includes/registration/ExtensionProcessor.php +++ b/includes/registration/ExtensionProcessor.php @@ -197,8 +197,20 @@ class ExtensionProcessor implements Processor { $this->extractMessagesDirs( $dir, $info ); $this->extractNamespaces( $info ); $this->extractResourceLoaderModules( $dir, $info ); - $this->extractServiceWiringFiles( $dir, $info ); - $this->extractParserTestFiles( $dir, $info ); + if ( isset( $info['ServiceWiringFiles'] ) ) { + $this->extractPathBasedGlobal( + 'wgServiceWiringFiles', + $dir, + $info['ServiceWiringFiles'] + ); + } + if ( isset( $info['ParserTestFiles'] ) ) { + $this->extractPathBasedGlobal( + 'wgParserTestFiles', + $dir, + $info['ParserTestFiles'] + ); + } $name = $this->extractCredits( $path, $info ); if ( isset( $info['callback'] ) ) { $this->callbacks[$name] = $info['callback']; @@ -499,19 +511,9 @@ class ExtensionProcessor implements Processor { $this->globals[$key] = $value; } - protected function extractServiceWiringFiles( $dir, array $info ) { - if ( isset( $info['ServiceWiringFiles'] ) ) { - foreach ( $info['ServiceWiringFiles'] as $path ) { - $this->globals['wgServiceWiringFiles'][] = "$dir/$path"; - } - } - } - - protected function extractParserTestFiles( $dir, array $info ) { - if ( isset( $info['ParserTestFiles'] ) ) { - foreach ( $info['ParserTestFiles'] as $path ) { - $this->globals['wgParserTestFiles'][] = "$dir/$path"; - } + protected function extractPathBasedGlobal( $global, $dir, $paths ) { + foreach ( $paths as $path ) { + $this->globals[$global][] = "$dir/$path"; } } diff --git a/tests/phpunit/includes/registration/ExtensionProcessorTest.php b/tests/phpunit/includes/registration/ExtensionProcessorTest.php index ef19b2f9d7..d9e091dc8d 100644 --- a/tests/phpunit/includes/registration/ExtensionProcessorTest.php +++ b/tests/phpunit/includes/registration/ExtensionProcessorTest.php @@ -647,7 +647,7 @@ class ExtensionProcessorTest extends MediaWikiTestCase { ); } - public function testExtractSimplePathBased() { + public function testExtractPathBasedGlobal() { $processor = new ExtensionProcessor(); $processor->extractInfo( $this->dir,