mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Gadgets
synced 2024-12-18 01:40:31 +00:00
1f7b9d90df
The parsed content of JSON files in the gadget is made available from the gadget's JS files via require(). That is, MediaWiki:Gadget-data.json (or Gadget:data.json) is available as `require('./data.json')`. This is supported for both MediaWikiGadgetsDefinitionRepo and GadgetDefinitionNamespaceRepo. The JSON parsing is done server-side. JSON can only be used in "package" gadgets - in which the JS files can also be invoked via require(). Also added a test for GadgetResourceLoaderModule. Bug: T198758 Depends-On: Ib4556d09c4d393269e32771aab00f59a5f630e1b Depends-On: Id4589a597ccfc4266b3e63d10f75b146aa7a287a Change-Id: I21acb46cdd244a39b5cc6963aa763f0113bd1e38
24 lines
493 B
PHP
24 lines
493 B
PHP
<?php
|
|
|
|
use Wikimedia\TestingAccessWrapper;
|
|
|
|
class GadgetTestUtils {
|
|
/**
|
|
* @param string $line
|
|
* @return Gadget
|
|
*/
|
|
public static function makeGadget( $line ) {
|
|
$repo = new MediaWikiGadgetsDefinitionRepo();
|
|
$g = $repo->newFromDefinition( $line, 'misc' );
|
|
return $g;
|
|
}
|
|
|
|
public static function makeGadgetModule( Gadget $g ) {
|
|
$module = TestingAccessWrapper::newFromObject(
|
|
new GadgetResourceLoaderModule( [ 'id' => null ] )
|
|
);
|
|
$module->gadget = $g;
|
|
return $module;
|
|
}
|
|
}
|