3 use MediaWiki\Config\ServiceOptions
;
4 use MediaWiki\Languages\LanguageNameUtils
;
6 class LanguageNameUtilsTest
extends MediaWikiUnitTestCase
{
8 * @param array $optionsArray
10 private static function newObj( array $optionsArray = [] ) : LanguageNameUtils
{
11 return new LanguageNameUtils( new ServiceOptions(
12 LanguageNameUtils
::$constructorOptions,
15 'ExtraLanguageNames' => [],
16 'LanguageCode' => 'en',
17 'UsePigLatinVariant' => false,
22 use LanguageNameUtilsTestTrait
;
24 private function isSupportedLanguage( $code ) {
25 return $this->newObj()->isSupportedLanguage( $code );
28 private function isValidCode( $code ) {
29 return $this->newObj()->isValidCode( $code );
32 private function isValidBuiltInCode( $code ) {
33 return $this->newObj()->isValidBuiltInCode( $code );
36 private function isKnownLanguageTag( $code ) {
37 return $this->newObj()->isKnownLanguageTag( $code );
40 private function assertGetLanguageNames( array $options, $expected, $code, ...$otherArgs ) {
41 $this->assertSame( $expected, $this->newObj( $options )
42 ->getLanguageNames( ...$otherArgs )[strtolower( $code )] ??
'' );
43 $this->assertSame( $expected,
44 $this->newObj( $options )->getLanguageName( $code, ...$otherArgs ) );
47 private function getLanguageNames( ...$args ) {
48 return $this->newObj()->getLanguageNames( ...$args );
51 private function getLanguageName( ...$args ) {
52 return $this->newObj()->getLanguageName( ...$args );
55 private static function getFileName( ...$args ) {
56 return self
::newObj()->getFileName( ...$args );
59 private static function getMessagesFileName( $code ) {
60 return self
::newObj()->getMessagesFileName( $code );
63 private static function getJsonMessagesFileName( $code ) {
64 return self
::newObj()->getJsonMessagesFileName( $code );