assertEquals($name, get_language_name($lang)); foreach ($trans as $k => $v) { //echo "$k -> $v"; $this->assertEquals($v, get_language_name($lang, $k)); } } public static function getLanguageNameProvider() { return [ 'empty language code' => [ '', '', ['de' => ''] ], 'invalid language code' => [ 'zz', 'zz', ['de' => 'zz'] ], 'de' => [ 'de', 'German', [ 'de' => 'Deutsch', 'nb' => 'tysk' ] ], 'de-de' => [ 'de-de', 'German', [ 'de-de' => 'Deutsch', 'nb' => 'Deutsch' // should be tysk, seems to be a bug upstream ] ], 'en' => [ 'en', 'English', [ 'de' => 'Englisch', 'nb' => 'engelsk' ] ], 'en-gb' => [ 'en-gb', 'British English', [ 'de' => 'Englisch (Vereinigtes Königreich)', 'nb' => 'engelsk (Storbritannia)' ] ], 'en-au' => [ 'en-au', 'Australian English', [ 'de' => 'Englisch (Australien)', 'nb' => 'engelsk (Australia)' ] ], 'nb' => [ 'nb', 'Norwegian Bokmål', [ 'de' => 'Norwegisch (Bokmål)', 'nb' => 'norsk bokmål' ] ] ]; } }