Refactor hook handling in ResourceLoaderTest
authorumherirrender <umherirrender_de.wp@web.de>
Wed, 15 Oct 2014 15:05:04 +0000 (17:05 +0200)
committerUmherirrender <umherirrender_de.wp@web.de>
Thu, 23 Oct 2014 19:19:18 +0000 (19:19 +0000)
No need to set a global $wgHooks, just set it for the current test.

Change-Id: Ic3e82608efa617a5a7f7c31365d748222bc6d6da

tests/phpunit/includes/resourceloader/ResourceLoaderTest.php

index 7664d5b..5cdfa77 100644 (file)
@@ -2,8 +2,6 @@
 
 class ResourceLoaderTest extends ResourceLoaderTestCase {
 
-       protected static $resourceLoaderRegisterModulesHook;
-
        protected function setUp() {
                parent::setUp();
 
@@ -30,17 +28,6 @@ class ResourceLoaderTest extends ResourceLoaderTestCase {
                ) );
        }
 
-       /* Hook Methods */
-
-       /**
-        * ResourceLoaderRegisterModules hook
-        */
-       public static function resourceLoaderRegisterModules( &$resourceLoader ) {
-               self::$resourceLoaderRegisterModulesHook = true;
-
-               return true;
-       }
-
        /* Provider Methods */
        public static function provideValidModules() {
                return array(
@@ -56,9 +43,21 @@ class ResourceLoaderTest extends ResourceLoaderTestCase {
         * @covers ResourceLoader::__construct
         */
        public function testCreatingNewResourceLoaderCallsRegistrationHook() {
-               self::$resourceLoaderRegisterModulesHook = false;
+               $resourceLoaderRegisterModulesHook = false;
+
+               $this->setMwGlobals( 'wgHooks', array(
+                       'ResourceLoaderRegisterModules' => array(
+                               function ( &$resourceLoader ) use ( &$resourceLoaderRegisterModulesHook ) {
+                                       $resourceLoaderRegisterModulesHook = true;
+                               }
+                       )
+               ) );
+
                $resourceLoader = new ResourceLoader();
-               $this->assertTrue( self::$resourceLoaderRegisterModulesHook );
+               $this->assertTrue(
+                       $resourceLoaderRegisterModulesHook,
+                       'Hook ResourceLoaderRegisterModules called'
+               );
 
                return $resourceLoader;
        }
@@ -242,7 +241,3 @@ class ResourceLoaderTest extends ResourceLoaderTestCase {
                }
        }
 }
-
-/* Hooks */
-global $wgHooks;
-$wgHooks['ResourceLoaderRegisterModules'][] = 'ResourceLoaderTest::resourceLoaderRegisterModules';