Beispiel #1
0
 /**
  * @covers PKPLocale
  */
 public function testGetLocaleFrom3LetterIso()
 {
     // A locale that does not have to be disambiguated.
     self::assertEquals('en_US', AppLocale::getLocaleFrom3LetterIso('eng'));
     // The primary locale will be used if that helps
     // to disambiguate.
     AppLocale::setSupportedLocales(array('en_US' => 'English', 'pt_BR' => 'Portuguese (Brazil)', 'pt_PT' => 'Portuguese (Portugal)'));
     AppLocale::setPrimaryLocale('pt_BR');
     self::assertEquals('pt_BR', AppLocale::getLocaleFrom3LetterIso('por'));
     AppLocale::setPrimaryLocale('pt_PT');
     self::assertEquals('pt_PT', AppLocale::getLocaleFrom3LetterIso('por'));
     // If the primary locale doesn't help then use the first supported locale found.
     AppLocale::setPrimaryLocale('en_US');
     self::assertEquals('pt_BR', AppLocale::getLocaleFrom3LetterIso('por'));
     AppLocale::setSupportedLocales(array('en_US' => 'English', 'pt_PT' => 'Portuguese (Portugal)', 'pt_BR' => 'Portuguese (Brazil)'));
     self::assertEquals('pt_PT', AppLocale::getLocaleFrom3LetterIso('por'));
     // If the locale isn't even in the supported localse then use the first locale found.
     AppLocale::setSupportedLocales(array('en_US' => 'English'));
     self::assertEquals('pt_PT', AppLocale::getLocaleFrom3LetterIso('por'));
     // Unknown language.
     self::assertNull(AppLocale::getLocaleFrom3LetterIso('xxx'));
 }