resourceloader: Add ResourceLoader::isModuleRegistered()
authorKunal Mehta <legoktm@gmail.com>
Fri, 30 Jan 2015 21:36:52 +0000 (13:36 -0800)
committerKrinkle <krinklemail@gmail.com>
Sun, 15 Mar 2015 02:45:43 +0000 (02:45 +0000)
Currently if code wants to check whether a module is registered it
has to call getModule() and see if the response !== null.

Change-Id: I4b470083ddaa5d8cd6be50d5c5b690d4b99b6c4a

includes/resourceloader/ResourceLoader.php
tests/phpunit/includes/resourceloader/ResourceLoaderTest.php

index 1744aa1..5eab3cb 100644 (file)
@@ -461,6 +461,17 @@ class ResourceLoader {
                }
        }
 
+       /**
+        * Check whether a ResourceLoader module is registered
+        *
+        * @since 1.25
+        * @param string $name
+        * @return bool
+        */
+       public function isModuleRegistered( $name ) {
+               return isset( $this->moduleInfos[$name] );
+       }
+
        /**
         * Get the ResourceLoaderModule object for a given module name.
         *
index 5d83239..d756ce3 100644 (file)
@@ -241,4 +241,14 @@ class ResourceLoaderTest extends ResourceLoaderTestCase {
                        $this->assertTrue( true );
                }
        }
+
+       /**
+        * @covers ResourceLoader::isModuleRegistered
+        */
+       public function testIsModuleRegistered() {
+               $rl = new ResourceLoader();
+               $rl->register( 'test.module', new ResourceLoaderTestModule() );
+               $this->assertTrue( $rl->isModuleRegistered( 'test.module' ) );
+               $this->assertFalse( $rl->isModuleRegistered( 'test.modulenotregistered' ) );
+       }
 }