Manual:Hooks/ResourceLoaderTestModules

From MediaWiki.org
Jump to: navigation, search
ResourceLoaderTestModules
Available from version 1.19.0 (r107919)
Add new javascript testing modules. This is called after the addition of MediaWiki core test suites.
Define function:
public static function onResourceLoaderTestModules( array &$testModules, ResourceLoader &$resourceLoader ) { ... }
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]

  • $testModules: array of javascript testing modules. 'qunit' is fed using tests/qunit/QUnitTestResources.php.
  • $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!
$testModules['qunit']['myext.tests'] = array(
	'scripts' => array( 'tests/myext.foo.test.js', 'tests/myext.bar.test.js' ),
	'dependencies' => array( 'myext.foo', 'myext.bar' ),
	'localBasePath' => __DIR__,
	'remoteExtPath' => 'MyExtension',
);

The array syntax is equal to that of Manual:Hooks/ResourceLoaderRegisterModules and $wgResourceModules. So things like remoteExtPath work here too.

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

See also[edit]