To avoid repeating this too much and make it easier to update when
underlying components incorporated into the version hash change.
Change-Id: I986988c07f5f888046b1d93c7e72f2e9585893cf
class ResourceLoaderStartUpModuleTest extends ResourceLoaderTestCase {
class ResourceLoaderStartUpModuleTest extends ResourceLoaderTestCase {
+ // Version hash for a blank file module.
+ // Result of ResourceLoader::makeHash(), ResourceLoaderTestModule
+ // and ResourceLoaderFileModule::getDefinitionSummary().
+ protected static $blankVersion = 'wvTifjse';
+
+ protected static function expandPlaceholders( $text ) {
+ return strtr( $text, array(
+ '{blankVer}' => self::$blankVersion
+ ) );
+ }
+
public static function provideGetModuleRegistrations() {
return array(
array( array(
public static function provideGetModuleRegistrations() {
return array(
array( array(
mw.loader.register( [
[
"test.blank",
mw.loader.register( [
[
"test.blank",
mw.loader.register( [
[
"test.blank",
mw.loader.register( [
[
"test.blank",
[],
"x-foo"
],
[
"test.group.bar",
[],
"x-foo"
],
[
"test.group.bar",
mw.loader.register( [
[
"test.blank",
mw.loader.register( [
[
"test.blank",
mw.loader.register( [
[
"test.blank",
mw.loader.register( [
[
"test.blank",
mw.loader.register( [
[
"test.x.core",
mw.loader.register( [
[
"test.x.core",
mw.loader.register( [
[
"test.blank",
mw.loader.register( [
[
"test.blank",
[
2
]
],
[
"test.x.quux",
[
2
]
],
[
"test.x.quux",
[],
"x-foo"
],
[
"test.group.foo.2",
[],
"x-foo"
],
[
"test.group.foo.2",
[],
"x-foo"
],
[
"test.group.bar.1",
[],
"x-foo"
],
[
"test.group.bar.1",
[],
"x-bar"
],
[
"test.group.bar.2",
[],
"x-bar"
],
[
"test.group.bar.2",
$context = $this->getResourceLoaderContext();
$rl = $context->getResourceLoader();
$context = $this->getResourceLoaderContext();
$rl = $context->getResourceLoader();
$rl->register( $case['modules'] );
$rl->register( $case['modules'] );
$module = new ResourceLoaderStartUpModule();
$module = new ResourceLoaderStartUpModule();
+ $out = ltrim( $case['out'], "\n" );
+
- ltrim( $case['out'], "\n" ),
+ self::expandPlaceholders( $out ),
$module->getModuleRegistrations( $context ),
$case['msg']
);
$module->getModuleRegistrations( $context ),
$case['msg']
);
$rl = $context->getResourceLoader();
$rl->register( $modules );
$module = new ResourceLoaderStartUpModule();
$rl = $context->getResourceLoader();
$rl->register( $modules );
$module = new ResourceLoaderStartUpModule();
+ $out = 'mw.loader.addSource({"local":"/w/load.php"});' . "\n"
+ . 'mw.loader.register(['
+ . '["test.blank","{blankVer}"],'
+ . '["test.min","{blankVer}",[0],null,null,'
+ . '"return!!(window.JSON\u0026\u0026JSON.parse\u0026\u0026JSON.stringify);"'
+ . ']]);';
+
-'mw.loader.addSource({"local":"/w/load.php"});' . "\n"
-. 'mw.loader.register(['
-. '["test.blank","wvTifjse"],'
-. '["test.min","wvTifjse",[0],null,null,'
-. '"return!!(window.JSON\u0026\u0026JSON.parse\u0026\u0026JSON.stringify);"'
-. ']]);',
+ self::expandPlaceholders( $out ),
$module->getModuleRegistrations( $context ),
'Minified output'
);
$module->getModuleRegistrations( $context ),
'Minified output'
);
$rl = $context->getResourceLoader();
$rl->register( $modules );
$module = new ResourceLoaderStartUpModule();
$rl = $context->getResourceLoader();
$rl->register( $modules );
$module = new ResourceLoaderStartUpModule();
'mw.loader.addSource( {
"local": "/w/load.php"
} );
mw.loader.register( [
[
"test.blank",
'mw.loader.addSource( {
"local": "/w/load.php"
} );
mw.loader.register( [
[
"test.blank",
null,
"return !!( window.JSON \u0026\u0026 JSON.parse \u0026\u0026 JSON.stringify);"
]
null,
"return !!( window.JSON \u0026\u0026 JSON.parse \u0026\u0026 JSON.stringify);"
]
+] );';
+
+ $this->assertEquals(
+ self::expandPlaceholders( $out ),
$module->getModuleRegistrations( $context ),
'Unminified output'
);
$module->getModuleRegistrations( $context ),
'Unminified output'
);