Manual:Hooks/ResourceLoaderTestModules

From mediawiki.org
ResourceLoaderTestModules
Available from version 1.19.0 (r107919, codereview)
Removed in version 1.40.0 (Gerrit change 861504)
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 $resourceLoader ) { ... }
Attach hook: In extension.json:
{
	"Hooks": {
		"ResourceLoaderTestModules": "MediaWiki\\Extension\\MyExtension\\Hooks::onResourceLoaderTestModules"
	}
}
Called from: File(s): resourceloader/ResourceLoader.php
Function(s): registerTestModules
Interface: ResourceLoaderTestModulesHook.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').
  • $resourceLoader: ResourceLoader object

Usage[edit]

This hook is run 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]