1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
<?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(
MediaWikiServices::getInstance()->getObjectFactory(),
false,
false,
false,
static function () use ( $language ) {
return $language;
}
);
return $factory->getLanguageConverter( $language );
}
}
|