This is moderately messy. Process was principally: * xargs rg --files-with-matches '^use Title;' | grep 'php$' | \ xargs -P 1 -n 1 sed -i -z 's/use Title;/use MediaWiki\\Title\\Title;/1' * rg --files-without-match 'MediaWiki\\Title\\Title;' . | grep 'php$' | \ xargs rg --files-with-matches 'Title\b' | \ xargs -P 1 -n 1 sed -i -z 's/\nuse /\nuse MediaWiki\\Title\\Title;\nuse /1' * composer fix Then manual fix-ups for a few files that don't have any use statements. Bug: T166010 Follows-Up: Ia5d8cb759dc3bc9e9bbe217d0fb109e2f8c4101a Change-Id: If8fc9d0d95fc1a114021e282a706fc3e7da3524b
47 lines
1.6 KiB
PHP
47 lines
1.6 KiB
PHP
<?php
|
|
|
|
use MediaWiki\MainConfigNames;
|
|
use MediaWiki\Title\Title;
|
|
|
|
class JavaScriptContentHandlerTest extends MediaWikiLangTestCase {
|
|
|
|
/**
|
|
* @dataProvider provideMakeRedirectContent
|
|
* @covers JavaScriptContentHandler::makeRedirectContent
|
|
*/
|
|
public function testMakeRedirectContent( $title, $expected ) {
|
|
$this->overrideConfigValues( [
|
|
MainConfigNames::Server => '//example.org',
|
|
MainConfigNames::Script => '/w/index.php',
|
|
] );
|
|
$ch = new JavaScriptContentHandler();
|
|
$content = $ch->makeRedirectContent( Title::newFromText( $title ) );
|
|
$this->assertInstanceOf( JavaScriptContent::class, $content );
|
|
$this->assertEquals( $expected, $content->serialize( CONTENT_FORMAT_JAVASCRIPT ) );
|
|
}
|
|
|
|
/**
|
|
* Keep this in sync with JavaScriptContentTest::provideGetRedirectTarget()
|
|
*/
|
|
public static function provideMakeRedirectContent() {
|
|
return [
|
|
[
|
|
'MediaWiki:MonoBook.js',
|
|
'/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=MediaWiki:MonoBook.js\u0026action=raw\u0026ctype=text/javascript");'
|
|
],
|
|
[
|
|
'User:FooBar/common.js',
|
|
'/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=User:FooBar/common.js\u0026action=raw\u0026ctype=text/javascript");'
|
|
],
|
|
[
|
|
'Gadget:FooBaz.js',
|
|
'/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=Gadget:FooBaz.js\u0026action=raw\u0026ctype=text/javascript");'
|
|
],
|
|
[
|
|
'User:😂/unicode.js',
|
|
'/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=User:%F0%9F%98%82/unicode.js\u0026action=raw\u0026ctype=text/javascript");'
|
|
],
|
|
];
|
|
// phpcs:enable
|
|
}
|
|
}
|