Replace direct access to $wgDisableLangConversion with LanguageConverterFactory::isConversionDisabled(), and replace direct access to $wgDisableTitleConversion with LanguageConverterFactory::isTitleConversionDisabled(). However, most places that check ::isTitleConversionDisabled() actually want ::isLinkConversionDisabled(), so add that too (and deprecate isTitleConversionDisabled()). Code search: https://codesearch.wmcloud.org/search/?q=Disable%28Lang|Title%29Conversion&i=nope&files=&repos= This change removes a number of spurious dependencies on the global configuration and reduces code duplication (for example, if the logic for disabling language conversion were ever to change). Depends-On: I6fa8230ae97b0e34c381003548e61f9b7387d363 Change-Id: Icc4687638ff1815003dd903854efdbd904854f1e
44 lines
1.4 KiB
PHP
44 lines
1.4 KiB
PHP
<?php
|
|
|
|
use MediaWiki\Languages\LanguageConverterFactory;
|
|
use MediaWiki\MediaWikiServices;
|
|
|
|
/**
|
|
* @group Language
|
|
*/
|
|
class LanguageConverterIntegrationTest extends MediaWikiIntegrationTestCase {
|
|
|
|
/** @var LanguageConverterFactory */
|
|
private $factory;
|
|
|
|
/**
|
|
* Shorthand for getting a Language Converter for specific language's code
|
|
* @param string $code code of converter
|
|
* @return ILanguageConverter
|
|
*/
|
|
private function getLanguageConverter( $code ) : ILanguageConverter {
|
|
$language = MediaWikiServices::getInstance()->getLanguageFactory()
|
|
->getLanguage( $code );
|
|
return $this->factory->getLanguageConverter( $language );
|
|
}
|
|
|
|
protected function setUp() : void {
|
|
$this->factory = new LanguageConverterFactory( false, false, false, function () {
|
|
$language = MediaWikiServices::getInstance()->getContentLanguage();
|
|
} );
|
|
parent::setUp();
|
|
}
|
|
|
|
/**
|
|
* @covers LanguageConverter::hasVariant
|
|
*/
|
|
public function testHasVariant() {
|
|
// See LanguageSrTest::testHasVariant() for additional tests
|
|
$converterEn = $this->getLanguageConverter( 'en' );
|
|
$this->assertTrue( $converterEn->hasVariant( 'en' ), 'base is always a variant' );
|
|
$this->assertFalse( $converterEn->hasVariant( 'en-bogus' ), 'bogus en variant' );
|
|
|
|
$converterBogus = $this->getLanguageConverter( 'bogus' );
|
|
$this->assertTrue( $converterBogus->hasVariant( 'bogus' ), 'base is always a variant' );
|
|
}
|
|
}
|