Merge "Inject WikiPageFactory into SpecialMyLanguage"

This commit is contained in:
jenkins-bot 2020-12-01 16:04:01 +00:00 committed by Gerrit Code Review
commit 0f55a111b4
3 changed files with 11 additions and 3 deletions

View file

@ -903,6 +903,7 @@ class SpecialPageFactory {
'class' => \SpecialMyLanguage::class,
'services' => [
'LanguageNameUtils',
'WikiPageFactory',
]
],
'Mypage' => [

View file

@ -24,6 +24,7 @@
*/
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\Page\WikiPageFactory;
/**
* Unlisted special page just to redirect the user to the translated version of
@ -39,14 +40,20 @@ class SpecialMyLanguage extends RedirectSpecialArticle {
/** @var LanguageNameUtils */
private $languageNameUtils;
/** @var WikiPageFactory */
private $wikiPageFactory;
/**
* @param LanguageNameUtils $languageNameUtils
* @param WikiPageFactory $wikiPageFactory
*/
public function __construct(
LanguageNameUtils $languageNameUtils
LanguageNameUtils $languageNameUtils,
WikiPageFactory $wikiPageFactory
) {
parent::__construct( 'MyLanguage' );
$this->languageNameUtils = $languageNameUtils;
$this->wikiPageFactory = $wikiPageFactory;
}
/**
@ -98,7 +105,7 @@ class SpecialMyLanguage extends RedirectSpecialArticle {
}
if ( $base->isRedirect() ) {
$page = new WikiPage( $base );
$page = $this->wikiPageFactory->newFromTitle( $base );
$base = $page->getRedirectTarget();
}

View file

@ -41,7 +41,7 @@ class SpecialMyLanguageTest extends MediaWikiIntegrationTestCase {
$services = MediaWikiServices::getInstance();
$special = new SpecialMyLanguage(
$services->getLanguageNameUtils(),
$services->getContentLanguage()
$services->getWikiPageFactory()
);
$special->getContext()->setLanguage( $userLang );
// Test with subpages both enabled and disabled