/** * Explicily load or embed modules on a page. * * @param array|string $modules One or more module names * @param string $only ResourceLoaderModule TYPE_ class constant * @param array $extraQuery [optional] Array with extra query parameters for the request * @return string|WrappedStringList HTML */ public function makeResourceLoaderLink($modules, $only, array $extraQuery = []) { // Apply 'target' and 'origin' filters $modules = $this->filterModules((array) $modules, null, $only); return ResourceLoaderClientHtml::makeLoad($this->getRlClientContext(), $modules, $only, $extraQuery); }
/** * @dataProvider provideMakeLoad * @covers ResourceLoaderClientHtml::makeLoad * @covers ResourceLoaderClientHtml::makeContext * @covers ResourceLoader::makeModuleResponse * @covers ResourceLoaderModule::getModuleContent * @covers ResourceLoader::getCombinedVersion * @covers ResourceLoader::createLoaderURL * @covers ResourceLoader::createLoaderQuery * @covers ResourceLoader::makeLoaderQuery * @covers ResourceLoader::makeInlineScript */ public function testMakeLoad(array $extraQuery, array $modules, $type, $expected) { $context = self::makeContext($extraQuery); $context->getResourceLoader()->register(self::makeSampleModules()); $actual = ResourceLoaderClientHtml::makeLoad($context, $modules, $type); $expected = self::expandVariables($expected); $this->assertEquals($expected, (string) $actual); }