mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-08 23:10:40 +00:00
ICU-20407 hy-arevela/hy-arevmda can. into hy / hyw
This commit is contained in:
parent
ac4387a374
commit
736757aced
6 changed files with 34 additions and 3 deletions
|
@ -465,6 +465,8 @@ typedef struct CanonicalizationMap {
|
|||
*/
|
||||
static const CanonicalizationMap CANONICALIZE_MAP[] = {
|
||||
{ "art_LOJBAN", "jbo" }, /* registered name */
|
||||
{ "hy__AREVELA", "hy" }, /* Registered IANA variant */
|
||||
{ "hy__AREVMDA", "hyw" }, /* Registered IANA variant */
|
||||
{ "zh_GAN", "gan" }, /* registered name */
|
||||
{ "zh_GUOYU", "zh" }, /* registered name */
|
||||
{ "zh_HAKKA", "hak" }, /* registered name */
|
||||
|
|
|
@ -423,9 +423,7 @@ static void TestPrefixes() {
|
|||
{"i-hakka", "", "CN", "", "i-hakka_CN", "i-hakka_CN", NULL},
|
||||
{"i-hakka", "", "MX", "", "I-hakka_MX", "i-hakka_MX", NULL},
|
||||
{"x-klingon", "", "US", "SANJOSE", "X-KLINGON_us_SANJOSE", "x-klingon_US_SANJOSE", NULL},
|
||||
|
||||
{"hy", "", "", "AREVMDA", "hy_AREVMDA", "hy__AREVMDA", NULL},
|
||||
|
||||
{"hy", "", "", "AREVMDA", "hy_AREVMDA", "hy__AREVMDA", "hyw"},
|
||||
{"de", "", "", "1901", "de-1901", "de__1901", NULL},
|
||||
{"mr", "", "", "", "mr.utf8", "mr.utf8", "mr"},
|
||||
{"de", "", "TV", "", "de-tv.koi8r", "de_TV.koi8r", "de_TV"},
|
||||
|
|
|
@ -252,6 +252,7 @@ void LocaleTest::runIndexedTest( int32_t index, UBool exec, const char* &name, c
|
|||
TESTCASE_AUTO(TestToLanguageTag);
|
||||
TESTCASE_AUTO(TestMoveAssign);
|
||||
TESTCASE_AUTO(TestMoveCtor);
|
||||
TESTCASE_AUTO(TestBug20407iVariantPreferredValue);
|
||||
TESTCASE_AUTO(TestBug13417VeryLongLanguageTag);
|
||||
TESTCASE_AUTO(TestBug11053UnderlineTimeZone);
|
||||
TESTCASE_AUTO_END;
|
||||
|
@ -3163,6 +3164,24 @@ void LocaleTest::TestMoveCtor() {
|
|||
assertEquals("bogus", l7.isBogus(), l8.isBogus());
|
||||
}
|
||||
|
||||
void LocaleTest::TestBug20407iVariantPreferredValue() {
|
||||
IcuTestErrorCode status(*this, "TestBug20407iVariantPreferredValue()");
|
||||
|
||||
Locale l = Locale::forLanguageTag("hy-arevela", status);
|
||||
status.errIfFailureAndReset("hy-arevela fail");
|
||||
assertTrue("!l.isBogus()", !l.isBogus());
|
||||
|
||||
std::string result = l.toLanguageTag<std::string>(status);
|
||||
assertEquals(l.getName(), "hy", result.c_str());
|
||||
|
||||
l = Locale::forLanguageTag("hy-arevmda", status);
|
||||
status.errIfFailureAndReset("hy-arevmda");
|
||||
assertTrue("!l.isBogus()", !l.isBogus());
|
||||
|
||||
result = l.toLanguageTag<std::string>(status);
|
||||
assertEquals(l.getName(), "hyw", result.c_str());
|
||||
}
|
||||
|
||||
void LocaleTest::TestBug13417VeryLongLanguageTag() {
|
||||
IcuTestErrorCode status(*this, "TestBug13417VeryLongLanguageTag()");
|
||||
|
||||
|
|
|
@ -124,6 +124,8 @@ public:
|
|||
void TestMoveAssign();
|
||||
void TestMoveCtor();
|
||||
|
||||
void TestBug20407iVariantPreferredValue();
|
||||
|
||||
void TestBug13417VeryLongLanguageTag();
|
||||
|
||||
void TestBug11053UnderlineTimeZone();
|
||||
|
|
|
@ -342,6 +342,8 @@ public final class ULocale implements Serializable, Comparable<ULocale> {
|
|||
{ "de_1906", "de__1906" }, /* registered name */
|
||||
{ "en_BOONT", "en__BOONT" }, /* registered name */
|
||||
{ "en_SCOUSE", "en__SCOUSE" }, /* registered name */
|
||||
{ "hy__AREVELA", "hy", null, null }, /* Registered IANA variant */
|
||||
{ "hy__AREVMDA", "hyw", null, null }, /* Registered IANA variant */
|
||||
{ "sl_ROZAJ", "sl__ROZAJ" }, /* registered name */
|
||||
{ "zh_GAN", "zh__GAN" }, /* registered name */
|
||||
{ "zh_GUOYU", "zh" }, /* registered name */
|
||||
|
|
|
@ -1489,6 +1489,14 @@ public class ULocaleTest extends TestFmwk {
|
|||
assertEquals("foobar", target, name);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestBug20407iVariantPreferredValue() {
|
||||
ULocale uloc = ULocale.createCanonical("hy-arevela");
|
||||
assertEquals("getName()", "hy", uloc.getName());
|
||||
uloc = ULocale.createCanonical("hy-arevmda");
|
||||
assertEquals("getName()", "hyw", uloc.getName());
|
||||
}
|
||||
|
||||
private void initHashtable() {
|
||||
h[0] = new HashMap<String, String>();
|
||||
h[1] = new HashMap<String, String>();
|
||||
|
|
Loading…
Add table
Reference in a new issue