wiki.techinc.nl/tests/phpunit/includes/language/LanguageConverterTestTrait.php
Umherirrender 9bcd6f7f80 tests: Move all language converter tests into /includes/
Move tests from /languages/ to /includes/language/ similiar to the
classes in f5644ba
Clean up suite config too not longer run that folder as test,
remove from coverage, there no php files to cover

Remove converter tests from Language*Test files,
all identical to the *ConverterTest cases (or remove the whole file)

Change-Id: I098ba241bd61d8ed2ee9b65393416077e3544e79
2023-02-01 20:10:56 +01:00

40 lines
966 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 ) ) {
# Normalize language code since classes uses underscores
return mb_strtolower( str_replace( '_', '-', $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 );
}
}