void LocaleDisplayNamesTest::TestCreateDialect() { UnicodeString temp; LocaleDisplayNames *ldn = LocaleDisplayNames::createInstance(Locale::getUS(), ULDN_DIALECT_NAMES); ldn->localeDisplayName("en_GB", temp); delete ldn; test_assert_equal("British English", temp); }
void LocaleDisplayNamesTest::TestRootEtc() { UnicodeString temp; LocaleDisplayNames *ldn = LocaleDisplayNames::createInstance(Locale::getUS()); const char *locname = "@collation=phonebook"; const char *target = "Root (Phonebook Sort Order)"; ldn->localeDisplayName(locname, temp); test_assert_equal(target, temp); ldn->languageDisplayName("root", temp); test_assert_equal("root", temp); ldn->languageDisplayName("en_GB", temp); test_assert_equal("en_GB", temp); delete ldn; }
void LocaleDisplayNamesTest::TestCreate() { UnicodeString temp; LocaleDisplayNames *ldn = LocaleDisplayNames::createInstance(Locale::getGermany()); ldn->localeDisplayName("de_DE", temp); delete ldn; test_assert_equal("Deutsch (Deutschland)", temp); }
void LocaleDisplayNamesTest::TestUldnComponents() { UErrorCode status = U_ZERO_ERROR; const int32_t kMaxResultSize = 150; // long enough UChar result[150]; ULocaleDisplayNames *ldn = uldn_open(Locale::getGermany().getName(), ULDN_STANDARD_NAMES, &status); test_assert(U_SUCCESS(status)); if (U_FAILURE(status)) { return; } // "en_Hant_US_PRE_EURO@calendar=gregorian"; { int32_t len = uldn_languageDisplayName(ldn, "en", result, kMaxResultSize, &status); UnicodeString str(result, len, kMaxResultSize); test_assert_equal("Englisch", str); } { int32_t len = uldn_scriptDisplayName(ldn, "Hant", result, kMaxResultSize, &status); UnicodeString str(result, len, kMaxResultSize); test_assert_equal("Traditionell", str); } { int32_t len = uldn_scriptCodeDisplayName(ldn, USCRIPT_TRADITIONAL_HAN, result, kMaxResultSize, &status); UnicodeString str(result, len, kMaxResultSize); test_assert_equal("Traditionell", str); } { int32_t len = uldn_regionDisplayName(ldn, "US", result, kMaxResultSize, &status); UnicodeString str(result, len, kMaxResultSize); test_assert_equal("Vereinigte Staaten", str); } { int32_t len = uldn_variantDisplayName(ldn, "PRE_EURO", result, kMaxResultSize, &status); UnicodeString str(result, len, kMaxResultSize); test_assert_equal("PRE_EURO", str); } { int32_t len = uldn_keyDisplayName(ldn, "calendar", result, kMaxResultSize, &status); UnicodeString str(result, len, kMaxResultSize); test_assert_equal("Kalender", str); } { int32_t len = uldn_keyValueDisplayName(ldn, "calendar", "gregorian", result, kMaxResultSize, &status); UnicodeString str(result, len, kMaxResultSize); test_assert_equal("Gregorianischer Kalender", str); } uldn_close(ldn); }
void LocaleDisplayNamesTest::TestPrivateUse() { UnicodeString temp; LocaleDisplayNames *ldn = LocaleDisplayNames::createInstance(Locale::getUS()); const char *locname = "de@x=foobar"; const char *target = "German (Private-Use: foobar)"; ldn->localeDisplayName(locname, temp); delete ldn; test_assert_equal(target, temp); }
void LocaleDisplayNamesTest::TestUntranslatedKeywords() { UnicodeString temp; LocaleDisplayNames *ldn = LocaleDisplayNames::createInstance(Locale::getUS()); const char *locname = "de@foo=bar"; const char *target = "German (foo=bar)"; ldn->localeDisplayName(locname, temp); delete ldn; test_assert_equal(target, temp); }
void LocaleDisplayNamesTest::TestKeywords() { UnicodeString temp; LocaleDisplayNames *ldn = LocaleDisplayNames::createInstance(Locale::getUS()); const char *locname = "de@currency=XYZ"; const char *target = "German (Currency: XYZ)"; ldn->localeDisplayName(locname, temp); delete ldn; test_assert_equal(target, temp); }
void LocaleDisplayNamesTest::TestWithKeywordsAndEverything() { UnicodeString temp; LocaleDisplayNames *ldn = LocaleDisplayNames::createInstance(Locale::getUS()); const char *locname = "en_Hant_US_VALLEY@calendar=gregorian;collation=phonebook"; const char *target = "English (Traditional, United States, VALLEY, " "Gregorian Calendar, Phonebook Sort Order)"; ldn->localeDisplayName(locname, temp); delete ldn; test_assert_equal(target, temp); }
void LocaleDisplayNamesTest::TestUldnOpenDialect() { UErrorCode status = U_ZERO_ERROR; const int32_t kMaxResultSize = 150; // long enough UChar result[150]; ULocaleDisplayNames *ldn = uldn_open(Locale::getUS().getName(), ULDN_DIALECT_NAMES, &status); int32_t len = uldn_localeDisplayName(ldn, "en_GB", result, kMaxResultSize, &status); uldn_close(ldn); test_assert(U_SUCCESS(status)); UnicodeString str(result, len, kMaxResultSize); test_assert_equal("British English", str); }
static void fs_test_write_file(const char *path, int open_flags, const char *content) { int fd; int nwritten; size_t content_len = strlen(content); test_assert(0 <= (fd = open(path, open_flags, FS_TEST_CREAT_MODE))); nwritten = write(fd, content, content_len); test_assert_equal(nwritten, content_len); close(fd); }
void LocaleDisplayNamesTest::TestUldnWithKeywordsAndEverything() { UErrorCode status = U_ZERO_ERROR; const int32_t kMaxResultSize = 150; // long enough UChar result[150]; const char *locname = "en_Hant_US_VALLEY@calendar=gregorian;collation=phonebook"; const char *target = "English (Traditional, United States, VALLEY, " "Gregorian Calendar, Phonebook Sort Order)"; ULocaleDisplayNames *ldn = uldn_open(Locale::getUS().getName(), ULDN_STANDARD_NAMES, &status); int32_t len = uldn_localeDisplayName(ldn, locname, result, kMaxResultSize, &status); uldn_close(ldn); test_assert(U_SUCCESS(status)); UnicodeString str(result, len, kMaxResultSize); test_assert_equal(target, str); }
void LocaleDisplayNamesTest::TestUldnOpen() { UErrorCode status = U_ZERO_ERROR; const int32_t kMaxResultSize = 150; // long enough UChar result[150]; ULocaleDisplayNames *ldn = uldn_open(Locale::getGermany().getName(), ULDN_STANDARD_NAMES, &status); int32_t len = uldn_localeDisplayName(ldn, "de_DE", result, kMaxResultSize, &status); uldn_close(ldn); test_assert(U_SUCCESS(status)); UnicodeString str(result, len, kMaxResultSize); test_assert_equal("Deutsch (Deutschland)", str); // make sure that NULL gives us the default locale as usual ldn = uldn_open(NULL, ULDN_STANDARD_NAMES, &status); const char *locale = uldn_getLocale(ldn); if(0 != uprv_strcmp(uloc_getDefault(), locale)) { errln("uldn_getLocale(uldn_open(NULL))=%s != default locale %s\n", locale, uloc_getDefault()); } uldn_close(ldn); test_assert(U_SUCCESS(status)); }