'msg' => 'Empty registry',
'modules' => [],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [] );'
+});
+mw.loader.register([]);'
] ],
[ [
'msg' => 'Basic registry',
'test.blank' => [ 'class' => ResourceLoaderTestModule::class ],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.blank",
"{blankVer}"
]
-] );',
+]);',
] ],
[ [
'msg' => 'Optimise the dependency tree (basic case)',
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"a",
"{blankVer}",
"d",
"{blankVer}"
]
-] );',
+]);',
] ],
[ [
'msg' => 'Optimise the dependency tree (tolerate unknown deps)',
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"a",
"{blankVer}",
"c",
"{blankVer}"
]
-] );',
+]);',
] ],
[ [
// Regression test for T223402.
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"top",
"{blankVer}",
"util",
"{blankVer}"
]
-] );',
+]);',
] ],
[ [
// Regression test for T223402.
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"top",
"{blankVer}",
"util",
"{blankVer}"
]
-] );',
+]);',
] ],
[ [
'msg' => 'Version falls back gracefully if getVersionHash throws',
]
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.fail",
""
]
-] );
-mw.loader.state( {
+]);
+mw.loader.state({
"test.fail": "error"
-} );',
+});',
] ],
[ [
'msg' => 'Use version from getVersionHash',
'factory' => function () {
$mock = $this->getMockBuilder( ResourceLoaderTestModule::class )
->setMethods( [ 'getVersionHash' ] )->getMock();
- $mock->method( 'getVersionHash' )->willReturn( '1234567' );
+ $mock->method( 'getVersionHash' )->willReturn( '12345' );
return $mock;
}
]
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.version",
- "1234567"
+ "12345"
]
-] );',
+]);',
] ],
[ [
'msg' => 'Re-hash version from getVersionHash if too long',
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.version",
- "016es8l"
+ "16es8"
]
-] );',
+]);',
] ],
[ [
'msg' => 'Group signature',
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.blank",
"{blankVer}"
"test.group.foo",
"{blankVer}",
[],
- "x-foo"
+ 2
],
[
"test.group.bar",
"{blankVer}",
[],
- "x-bar"
+ 3
]
-] );'
+]);'
] ],
[ [
'msg' => 'Different target (non-test should not be registered)',
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.blank",
"{blankVer}"
]
-] );'
+]);'
] ],
[ [
'msg' => 'Safemode disabled (default; register all modules)',
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.blank",
"{blankVer}"
"test.user",
"{blankVer}"
]
-] );'
+]);'
] ],
[ [
'msg' => 'Safemode enabled (filter modules with user/site origin)',
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.blank",
"{blankVer}"
"test.core-generated",
"{blankVer}"
]
-] );'
+]);'
] ],
[ [
'msg' => 'Foreign source',
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php",
"example": "http://example.org/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.blank",
"{blankVer}",
null,
"example"
]
-] );'
+]);'
] ],
[ [
'msg' => 'Conditional dependency function',
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.x.core",
"{blankVer}"
2
]
]
-] );',
+]);',
] ],
[ [
// This may seem like an edge case, but a plain MediaWiki core install
],
],
'out' => '
-mw.loader.addSource( {
+mw.loader.addSource({
"local": "/w/load.php",
"example": "http://example.org/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.blank",
"{blankVer}"
"test.group.foo.1",
"{blankVer}",
[],
- "x-foo"
+ 2
],
[
"test.group.foo.2",
"{blankVer}",
[],
- "x-foo"
+ 2
],
[
"test.group.bar.1",
"{blankVer}",
[],
- "x-bar"
+ 3
],
[
"test.group.bar.2",
"{blankVer}",
[],
- "x-bar",
+ 3,
"example"
]
-] );'
+]);'
] ],
];
}
$rl->register( $modules );
$module = new ResourceLoaderStartUpModule();
$out =
-'mw.loader.addSource( {
+'mw.loader.addSource({
"local": "/w/load.php"
-} );
-mw.loader.register( [
+});
+mw.loader.register([
[
"test.blank",
"{blankVer}"
null,
"return !!( window.JSON \u0026\u0026 JSON.parse \u0026\u0026 JSON.stringify);"
]
-] );';
+]);';
$this->assertEquals(
self::expandPlaceholders( $out ),