resourceloader: Allow modules to be registered via a factory callback
[lhc/web/wiklou.git] / tests / phpunit / includes / resourceloader / ResourceLoaderTest.php
index af3212a..0833047 100644 (file)
@@ -143,6 +143,23 @@ class ResourceLoaderTest extends ResourceLoaderTestCase {
                );
        }
 
+       /**
+        * @covers ResourceLoader::getModule
+        */
+       public function testGetModuleFactory() {
+               $factory = function( array $info ) {
+                       $this->assertArrayHasKey( 'kitten', $info );
+                       return new ResourceLoaderTestModule( $info );
+               };
+
+               $rl = new EmptyResourceLoader();
+               $rl->register( 'test', [ 'factory' => $factory, 'kitten' => 'little ball of fur' ] );
+               $this->assertInstanceOf(
+                       ResourceLoaderTestModule::class,
+                       $rl->getModule( 'test' )
+               );
+       }
+
        /**
         * @covers ResourceLoader::getModule
         */