wiki.techinc.nl/tests/phpunit/languages/LanguageConverterTestTrait.php
C. Scott Ananian c64e71615e Replace $wgDisable{Lang,Title}Conversion with LanguageConverterFactory methods
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
2020-11-25 12:47:26 -05:00

33 lines
801 B
PHP

<?php
use MediaWiki\Languages\LanguageConverterFactory;
use MediaWiki\MediaWikiServices;
trait LanguageConverterTestTrait {
private $codeRegex = '/^(.+)ConverterTest$/';
protected function code():string {
if ( preg_match( $this->codeRegex, get_class( $this ), $m ) ) {
return mb_strtolower( $m[1] );
}
return 'en';
}
/** Create and return LanguageConveter to be tested.
*
* @return ILanguageConverter
*/
protected function getLanguageConverter() : ILanguageConverter {
$code = $this->code();
$language = MediaWikiServices::getInstance()->getLanguageFactory()
->getLanguage( $code );
$factory = new LanguageConverterFactory( false, false, false, function () use ( $language ) {
return $language;
} );
return $factory->getLanguageConverter( $language );
}
}