Manual:Hooks/ResourceLoaderTestModules

From MediaWiki.org
Jump to: navigation, search
ResourceLoaderTestModules
Available from version 1.19.0 (r107919)
Add new javascript test suites. This is called after the addition of MediaWiki core test suites.
Define function:
public static function onResourceLoaderTestModules( array &$modules, ResourceLoader &$rl ) { ... }
Attach hook:

In extension.json:

{
	"Hooks": {
		"ResourceLoaderTestModules": "MyExtensionHooks::onResourceLoaderTestModules"
	}
}

For MediaWiki ≤1.25:

$wgHooks['ResourceLoaderTestModules'][] = 'MyExtensionHooks::onResourceLoaderTestModules';
Called from: File(s): ResourceLoader.php

For more information about attaching hooks, see Manual:Hooks.
For examples of extensions using this hook, see Category:ResourceLoaderTestModules extensions.

Details[edit]

  • $modules: array of javascript testing modules, keyed by framework (e.g. 'qunit').
  • $rl: ResourceLoader object

Usage[edit]

This hook is run from ResourceLoader::registerTestModules on wikis that have $wgEnableJavaScriptTest set to true.

Don't forget to add the module that is being tested to the dependencies!
$modules['qunit']['ext.example.test'] = [
	'scripts' => [
	    'tests/ext.example.foo.test.js',
	    'tests/ext.example.bar.test.js',
	 ],
	'dependencies' => [
	    'ext.example.foo',
	    'ext.example.bar',
    ],
	'localBasePath' => __DIR__,
	'remoteExtPath' => 'Example',
);

The array syntax is equal to that of ResourceLoaderRegisterModules and $wgResourceModules. This means idioms such as remoteExtPath and remoteSkinPath work here too.

See revision 109127 for an example of adding test support to an extension.

See also[edit]