Stop using deprecated Language methods

Change-Id: I46b6e388d96080ef0389601f01e2b2bb20cfd185
This commit is contained in:
Daimona Eaytoy 2021-02-27 14:36:08 +00:00
parent bc7b102141
commit dff83a4b24
2 changed files with 15 additions and 5 deletions

View file

@ -19,6 +19,7 @@
*/
namespace MediaWiki\Minerva;
use MediaWiki\MediaWikiServices;
use OutputPage;
use Title;
@ -46,6 +47,11 @@ class LanguagesHelper {
* @return bool
*/
public function doesTitleHasLanguagesOrVariants( Title $title ) {
return $this->hasLanguages || $title->getPageLanguage()->hasVariants();
if ( $this->hasLanguages ) {
return true;
}
$langConv = MediaWikiServices::getInstance()->getLanguageConverterFactory()
->getLanguageConverter( $title->getPageLanguage() );
return $langConv->hasVariants();
}
}

View file

@ -2,6 +2,8 @@
namespace Tests\MediaWiki\Minerva;
use ILanguageConverter;
use MediaWiki\Languages\LanguageConverterFactory;
use MediaWiki\Minerva\LanguagesHelper;
use PHPUnit\Framework\MockObject\Invocation;
@ -11,7 +13,7 @@ use PHPUnit\Framework\MockObject\Invocation;
* @group MinervaNeue
* @coversDefaultClass \MediaWiki\Minerva\LanguagesHelper
*/
class LanguagesHelperTest extends \MediaWikiUnitTestCase {
class LanguagesHelperTest extends \MediaWikiIntegrationTestCase {
/**
* Build test Output object
@ -35,9 +37,11 @@ class LanguagesHelperTest extends \MediaWikiUnitTestCase {
*/
private function getTitle( $hasVariants, Invocation $matcher = null ) {
$languageMock = $this->createMock( \Language::class );
$languageMock->expects( $matcher ?? $this->any() )
->method( 'hasVariants' )
->willReturn( $hasVariants );
$langConv = $this->createMock( ILanguageConverter::class );
$langConv->expects( $matcher ?? $this->any() )->method( 'hasVariants' )->willReturn( $hasVariants );
$langConvFactory = $this->createMock( LanguageConverterFactory::class );
$langConvFactory->method( 'getLanguageConverter' )->with( $languageMock )->willReturn( $langConv );
$this->setService( 'LanguageConverterFactory', $langConvFactory );
$title = $this->createMock( \Title::class );
$title->expects( $matcher ?? $this->any() )