From 236456777b920047b8b8502628143b218c486d8b Mon Sep 17 00:00:00 2001 From: Thcipriani Date: Tue, 22 Aug 2017 20:40:15 +0000 Subject: [PATCH] Revert "registration: Only allow one extension to set a specific config setting" Breaks mergeMessageFileList which means scap can't run in beta. This reverts commit 50d7546057c1089228a2a6d7d4a49d78d72887e3. Change-Id: Idb65f1098abce28d49ebbcc8254c0976b6861c59 --- includes/registration/ExtensionProcessor.php | 19 +-------- .../registration/ExtensionProcessorTest.php | 42 ------------------- 2 files changed, 2 insertions(+), 59 deletions(-) diff --git a/includes/registration/ExtensionProcessor.php b/includes/registration/ExtensionProcessor.php index 14d822295c..ce262bd23e 100644 --- a/includes/registration/ExtensionProcessor.php +++ b/includes/registration/ExtensionProcessor.php @@ -450,7 +450,7 @@ class ExtensionProcessor implements Processor { } foreach ( $info['config'] as $key => $val ) { if ( $key[0] !== '@' ) { - $this->addConfigGlobal( "$prefix$key", $val ); + $this->globals["$prefix$key"] = $val; } } } @@ -478,26 +478,11 @@ class ExtensionProcessor implements Processor { if ( isset( $data['path'] ) && $data['path'] ) { $value = "$dir/$value"; } - $this->addConfigGlobal( "$prefix$key", $value ); + $this->globals["$prefix$key"] = $value; } } } - /** - * Helper function to set a value to a specific global, if it isn't set already. - * - * @param string $key The config key with the prefix and anything - * @param mixed $value The value of the config - */ - private function addConfigGlobal( $key, $value ) { - if ( array_key_exists( $key, $this->globals ) ) { - throw new RuntimeException( - "The configuration setting '$key' was already set by another extension," - . " and cannot be set again." ); - } - $this->globals[$key] = $value; - } - protected function extractServiceWiringFiles( $dir, array $info ) { if ( isset( $info['ServiceWiringFiles'] ) ) { foreach ( $info['ServiceWiringFiles'] as $path ) { diff --git a/tests/phpunit/includes/registration/ExtensionProcessorTest.php b/tests/phpunit/includes/registration/ExtensionProcessorTest.php index 5ef30e872a..7b56def1c3 100644 --- a/tests/phpunit/includes/registration/ExtensionProcessorTest.php +++ b/tests/phpunit/includes/registration/ExtensionProcessorTest.php @@ -220,48 +220,6 @@ class ExtensionProcessorTest extends MediaWikiTestCase { $this->assertEquals( 'somevalue', $extracted['globals']['egBar'] ); } - /** - * @covers ExtensionProcessor::addConfigGlobal() - * @expectedException RuntimeException - */ - public function testDuplicateConfigKey1() { - $processor = new ExtensionProcessor; - $info = [ - 'config' => [ - 'Bar' => '', - ] - ] + self::$default; - $info2 = [ - 'config' => [ - 'Bar' => 'g', - ], - 'name' => 'FooBar2', - ]; - $processor->extractInfo( $this->dir, $info, 1 ); - $processor->extractInfo( $this->dir, $info2, 1 ); - } - - /** - * @covers ExtensionProcessor::addConfigGlobal() - * @expectedException RuntimeException - */ - public function testDuplicateConfigKey2() { - $processor = new ExtensionProcessor; - $info = [ - 'config' => [ - 'Bar' => [ 'value' => 'somevalue' ], - ] - ] + self::$default; - $info2 = [ - 'config' => [ - 'Bar' => [ 'value' => 'somevalue' ], - ], - 'name' => 'FooBar2', - ]; - $processor->extractInfo( $this->dir, $info, 2 ); - $processor->extractInfo( $this->dir, $info2, 2 ); - } - public static function provideExtractExtensionMessagesFiles() { $dir = __DIR__ . '/FooBar/'; return [ -- 2.20.1