diff --git a/.gitattributes b/.gitattributes index e7e0adbc65..976273bf15 100644 --- a/.gitattributes +++ b/.gitattributes @@ -87,3 +87,12 @@ configure text # Use JSONC for syntax highlighting on GitHub.com *.json linguist-language=jsonc +# Codepoint trie golden tests compare bytes; keep generated TOML line endings stable. +icu/icu4c/source/test/testdata/codepointtrie/*.toml text eol=lf + +# Shell script fragments assembled into icu-config (an executable shell script). +# They must have LF line endings so WSL/Linux can execute the generated file. +icu/icu4c/source/config/icu-config-top text eol=lf +icu/icu4c/source/config/icu-config-bottom text eol=lf +icu/icu4c/source/config/mh-* text eol=lf + diff --git a/icu/icu4c/source/common/loclikely.cpp b/icu/icu4c/source/common/loclikely.cpp index 1c9447fa2b..96a0c6baf4 100644 --- a/icu/icu4c/source/common/loclikely.cpp +++ b/icu/icu4c/source/common/loclikely.cpp @@ -462,8 +462,8 @@ namespace { // test/intltest/regiontst.cpp from the resource data while // the test failed. const uint32_t gValidRegionMap[] = { - 0xeedf597c, 0xdeddbdef, 0x15943f3f, 0x0e00d580, - 0xb0095c00, 0x0015fb9f, 0x781c068d, 0x0340400f, + 0xeedf597c, 0xdeddbdef, 0x15843f3f, 0x0e005480, + 0xb0095c00, 0x0015fb9f, 0x7818068d, 0x0340400f, 0xf42b1d00, 0xfd4f8141, 0x25d7fffc, 0x0100084b, 0x538f3c40, 0x40000001, 0xfdf15100, 0x9fbb7ae7, 0x0410419a, 0x00408557, 0x00004002, 0x00100001, diff --git a/icu/icu4c/source/data/misc/supplementalData.txt b/icu/icu4c/source/data/misc/supplementalData.txt index ca1a28cea7..c8906a47ac 100644 --- a/icu/icu4c/source/data/misc/supplementalData.txt +++ b/icu/icu4c/source/data/misc/supplementalData.txt @@ -11528,17 +11528,14 @@ supplementalData:table(nofallback){ "cyzzzz", "czzzzz", "dezzzz", - "dgzzzz", "djzzzz", "dkzzzz", "dmzzzz", "dozzzz", "dzzzzz", - "eazzzz", "eczzzz", "eezzzz", "egzzzz", - "ehzzzz", "erzzzz", "eszzzz", "etzzzz", @@ -11573,7 +11570,6 @@ supplementalData:table(nofallback){ "hrzzzz", "htzzzz", "huzzzz", - "iczzzz", "idzzzz", "iezzzz", "ilzzzz", diff --git a/icu/icu4c/source/test/cintltst/ccaltst.c b/icu/icu4c/source/test/cintltst/ccaltst.c index 235eff26d1..50e0dca83e 100644 --- a/icu/icu4c/source/test/cintltst/ccaltst.c +++ b/icu/icu4c/source/test/cintltst/ccaltst.c @@ -724,7 +724,7 @@ static void TestGetSetDateAPI(void) /*Testing if setDate works fine */ log_verbose("\nTesting the ucal_setDate() function \n"); - u_strcpy(temp, u"Dec 17, 1971, 11:05:28\u202FPM"); + u_strcpy(temp, u"Dec 17, 1971, 11:05:28 PM"); ucal_setDate(caldef,1971, UCAL_DECEMBER, 17, &status); if(U_FAILURE(status)){ log_err("error in setting the calendar date : %s\n", u_errorName(status)); @@ -755,7 +755,7 @@ static void TestGetSetDateAPI(void) /*Testing if setDateTime works fine */ log_verbose("\nTesting the ucal_setDateTime() function \n"); - u_strcpy(temp, u"May 3, 1972, 4:30:42\u202FPM"); + u_strcpy(temp, u"May 3, 1972, 4:30:42 PM"); ucal_setDateTime(caldef,1972, UCAL_MAY, 3, 16, 30, 42, &status); if(U_FAILURE(status)){ log_err("error in setting the calendar date : %s\n", u_errorName(status)); diff --git a/icu/icu4c/source/test/cintltst/cdateintervalformattest.c b/icu/icu4c/source/test/cintltst/cdateintervalformattest.c index 298dcae424..a4ecc7dc2e 100644 --- a/icu/icu4c/source/test/cintltst/cdateintervalformattest.c +++ b/icu/icu4c/source/test/cintltst/cdateintervalformattest.c @@ -248,15 +248,15 @@ static const ExpectPosAndFormat exp_en_yyMMddHHmmss[kNumDeltas] = { }; static const ExpectPosAndFormat exp_en_yMMMdhmmssz[kNumDeltas] = { - { 16, 18, "Nov 20, 2014, 9:00:00\\u202FAM GMT" }, - { 16, 18, "Nov 20, 2014, 9:00:00\\u202FAM GMT" }, - { 16, 18, "Nov 20, 2014, 9:00:00\\u202FAM GMT\\u2009\\u2013\\u20099:00:20\\u202FAM GMT" }, - { 16, 18, "Nov 20, 2014, 9:00:00\\u202FAM GMT\\u2009\\u2013\\u20099:20:00\\u202FAM GMT" }, - { 16, 18, "Nov 20, 2014, 9:00:00\\u202FAM GMT\\u2009\\u2013\\u200911:00:00\\u202FAM GMT" }, - { 16, 18, "Nov 20, 2014, 9:00:00\\u202FAM GMT\\u2009\\u2013\\u20099:00:00\\u202FPM GMT" }, - { 16, 18, "Nov 20, 2014, 9:00:00\\u202FAM GMT\\u2009\\u2013\\u2009Nov 28, 2014, 9:00:00\\u202FAM GMT" }, - { 16, 18, "Nov 20, 2014, 9:00:00\\u202FAM GMT\\u2009\\u2013\\u2009Dec 6, 2014, 9:00:00\\u202FAM GMT" }, - { 16, 18, "Nov 20, 2014, 9:00:00\\u202FAM GMT\\u2009\\u2013\\u2009Feb 28, 2015, 9:00:00\\u202FAM GMT" } + { 16, 18, "Nov 20, 2014, 9:00:00 AM GMT" }, + { 16, 18, "Nov 20, 2014, 9:00:00 AM GMT" }, + { 16, 18, "Nov 20, 2014, 9:00:00 AM GMT\\u2009\\u2013\\u20099:00:20 AM GMT" }, + { 16, 18, "Nov 20, 2014, 9:00:00 AM GMT\\u2009\\u2013\\u20099:20:00 AM GMT" }, + { 16, 18, "Nov 20, 2014, 9:00:00 AM GMT\\u2009\\u2013\\u200911:00:00 AM GMT" }, + { 16, 18, "Nov 20, 2014, 9:00:00 AM GMT\\u2009\\u2013\\u20099:00:00 PM GMT" }, + { 16, 18, "Nov 20, 2014, 9:00:00 AM GMT\\u2009\\u2013\\u2009Nov 28, 2014, 9:00:00 AM GMT" }, + { 16, 18, "Nov 20, 2014, 9:00:00 AM GMT\\u2009\\u2013\\u2009Dec 6, 2014, 9:00:00 AM GMT" }, + { 16, 18, "Nov 20, 2014, 9:00:00 AM GMT\\u2009\\u2013\\u2009Feb 28, 2015, 9:00:00 AM GMT" } }; static const ExpectPosAndFormat exp_ja_yyMMddHHmm[kNumDeltas] = { diff --git a/icu/icu4c/source/test/cintltst/cdattst.c b/icu/icu4c/source/test/cintltst/cdattst.c index e17ac06f06..6f27ba32a7 100644 --- a/icu/icu4c/source/test/cintltst/cdattst.c +++ b/icu/icu4c/source/test/cintltst/cdattst.c @@ -176,7 +176,7 @@ static void TestDateFormat(void) /*Testing udat_format()*/ log_verbose("\nTesting the udat_format() function of date format\n"); - u_strcpy(temp, u"7/10/96, 4:05\u202FPM"); + u_strcpy(temp, u"7/10/96, 4:05 PM"); /*format using def */ resultlength=0; resultlengthneeded=udat_format(def, d, NULL, resultlength, NULL, &status); @@ -245,7 +245,7 @@ static void TestDateFormat(void) /*Testing parsing using udat_parse()*/ log_verbose("\nTesting parsing using udat_parse()\n"); - u_strcpy(temp, u"2/3/76, 2:50\u202FAM"); + u_strcpy(temp, u"2/3/76, 2:50 AM"); parsepos=0; status=U_ZERO_ERROR; @@ -966,7 +966,7 @@ static void TestDateFormatCalendar(void) { u_errorName(ec)); goto FAIL; } - u_strcpy(uExpected, u"5:45\u202FPM"); + u_strcpy(uExpected, u"5:45 PM"); u_austrcpy(cbuf, uExpected); if (u_strlen(uExpected) != len1 || u_strncmp(uExpected, buf1, len1) != 0) { log_err("FAIL: udat_formatCalendar(17:45), expected: %s", cbuf); @@ -2101,10 +2101,10 @@ static void TestHourCycle(void) { static const UDate date = -845601267742; // March 16, 1943 at 3:45 PM const UChar* testCases[] = { // test some locales for which we have data - u"en_US", u"Tuesday, March 16, 1943 at 3:45:32 PM", - u"en_CA", u"Tuesday, March 16, 1943 at 3:45:32 p.m.", + u"en_US", u"Tuesday, March 16, 1943 at 3:45:32 PM", + u"en_CA", u"Tuesday, March 16, 1943 at 3:45:32 p.m.", u"en_GB", u"Tuesday, 16 March 1943 at 15:45:32", - u"en_AU", u"Tuesday, 16 March 1943 at 3:45:32 pm", + u"en_AU", u"Tuesday, 16 March 1943 at 3:45:32 pm", // test a couple locales for which we don't have specific locale files (we should still get the correct hour cycle) u"en_CO", u"Tuesday, March 16, 1943 at 3:45:32 PM", u"en_MX", u"Tuesday, March 16, 1943 at 3:45:32 PM", @@ -2112,12 +2112,12 @@ static void TestHourCycle(void) { u"en_US@rg=GBzzzz", u"Tuesday, March 16, 1943 at 15:45:32", u"en_US@rg=CAzzzz", u"Tuesday, March 16, 1943 at 3:45:32 PM", u"en_CA@rg=USzzzz", u"Tuesday, March 16, 1943 at 3:45:32 p.m.", - u"en_GB@rg=USzzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm", - u"en_GB@rg=CAzzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm", - u"en_GB@rg=AUzzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm", + u"en_GB@rg=USzzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm", + u"en_GB@rg=CAzzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm", + u"en_GB@rg=AUzzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm", // test that the hc ("hours") subtag does the right thing u"en_US@hours=h23", u"Tuesday, March 16, 1943 at 15:45:32", - u"en_GB@hours=h12", u"Tuesday, 16 March 1943 at 3:45:32 pm", + u"en_GB@hours=h12", u"Tuesday, 16 March 1943 at 3:45:32 pm", // test that the rg and hc subtags do the right thing when used together u"en_US@rg=GBzzzz;hours=h12", u"Tuesday, March 16, 1943 at 3:45:32 PM", u"en_GB@rg=USzzzz;hours=h23", u"Tuesday, 16 March 1943 at 15:45:32", diff --git a/icu/icu4c/source/test/cintltst/cdtrgtst.c b/icu/icu4c/source/test/cintltst/cdtrgtst.c index 54bdc7228f..13aa8cfb67 100644 --- a/icu/icu4c/source/test/cintltst/cdtrgtst.c +++ b/icu/icu4c/source/test/cintltst/cdtrgtst.c @@ -516,7 +516,7 @@ void Test714(void) UErrorCode status = U_ZERO_ERROR; UDateFormat *fmt; UChar *result; - const UChar* expect = u"7:25:43\u202FAM"; + const UChar* expect = u"7:25:43 AM"; ctest_setTimeZone(NULL, &status); diff --git a/icu/icu4c/source/test/cintltst/cldrtest.c b/icu/icu4c/source/test/cintltst/cldrtest.c index e014a1e1d5..8cf8e5dc1b 100644 --- a/icu/icu4c/source/test/cintltst/cldrtest.c +++ b/icu/icu4c/source/test/cintltst/cldrtest.c @@ -1122,7 +1122,7 @@ static void VerifyTranslation(void) { if (U_FAILURE(errorCode)) { log_err("ulocdata_getMeasurementSystem failed for locale %s with error: %s \n", currLoc, u_errorName(errorCode)); } else { - if ( strstr(fullLoc, "_US")!=NULL || strstr(fullLoc, "_LR")!=NULL ) { + if ( strstr(fullLoc, "_US")!=NULL || strstr(fullLoc, "_LR")!=NULL || strstr(fullLoc, "_029")!=NULL ) { if(measurementSystem != UMS_US){ log_err("ulocdata_getMeasurementSystem did not return expected data for locale %s \n", currLoc); } @@ -1143,7 +1143,7 @@ static void VerifyTranslation(void) { if ( strstr(fullLoc, "_US")!=NULL || strstr(fullLoc, "_BZ")!=NULL || strstr(fullLoc, "_CA")!=NULL || strstr(fullLoc, "_CL")!=NULL || strstr(fullLoc, "_CO")!=NULL || strstr(fullLoc, "_CR")!=NULL || strstr(fullLoc, "_GT")!=NULL || strstr(fullLoc, "_MX")!=NULL || strstr(fullLoc, "_NI")!=NULL || strstr(fullLoc, "_PA")!=NULL || strstr(fullLoc, "_PH")!=NULL || strstr(fullLoc, "_PR")!=NULL || - strstr(fullLoc, "_SV")!=NULL || strstr(fullLoc, "_VE")!=NULL ) { + strstr(fullLoc, "_SV")!=NULL || strstr(fullLoc, "_VE")!=NULL || strstr(fullLoc, "_029")!=NULL ) { if (height != 279 || width != 216) { log_err("ulocdata_getPaperSize did not return expected data for locale %s \n", currLoc); } diff --git a/icu/icu4c/source/test/cintltst/cloctst.c b/icu/icu4c/source/test/cintltst/cloctst.c index 94f452aa56..37cf24ded0 100644 --- a/icu/icu4c/source/test/cintltst/cloctst.c +++ b/icu/icu4c/source/test/cintltst/cloctst.c @@ -1268,8 +1268,8 @@ typedef struct { static const DisplayNameBracketsItem displayNameBracketsItems[] = { { "en", "CC", "en_CC", "Cocos (Keeling) Islands", "English (Cocos [Keeling] Islands)" }, - { "en", "MM", "my_MM", "Myanmar (Burma)", "Burmese (Myanmar [Burma])" }, - { "en", "MM", "my_Mymr_MM", "Myanmar (Burma)", "Burmese (Myanmar, Myanmar [Burma])" }, + { "en", "MM", "my_MM", "Myanmar", "Burmese (Myanmar)" }, + { "en", "MM", "my_Mymr_MM", "Myanmar", "Burmese (Myanmar, Myanmar)" }, { "zh", "CC", "en_CC", "\\u79D1\\u79D1\\u65AF\\uFF08\\u57FA\\u6797\\uFF09\\u7FA4\\u5C9B", "\\u82F1\\u8BED\\uFF08\\u79D1\\u79D1\\u65AF\\uFF3B\\u57FA\\u6797\\uFF3D\\u7FA4\\u5C9B\\uFF09" }, { "zh", "CG", "fr_CG", "\\u521A\\u679C\\uFF08\\u5E03\\uFF09", "\\u6CD5\\u8BED\\uFF08\\u521A\\u679C\\uFF3B\\u5E03\\uFF3D\\uFF09" }, { NULL, NULL, NULL, NULL, NULL } @@ -7163,11 +7163,11 @@ static const UldnItem en_StdMidLong[] = { { "en", TEST_ULOC_LANGUAGE, u"English" }, // https://unicode-org.atlassian.net/browse/ICU-20870 { "fa_AF", TEST_ULDN_LOCALE, u"Persian (Afghanistan)" }, - { "prs", TEST_ULDN_LOCALE, u"Dari" }, - { "prs_AF", TEST_ULDN_LOCALE, u"Dari (Afghanistan)" }, - { "prs_TJ", TEST_ULDN_LOCALE, u"Dari (Tajikistan)" }, - { "prs", TEST_ULDN_LANGUAGE, u"Dari" }, - { "prs", TEST_ULOC_LANGUAGE, u"Dari" }, + { "prs", TEST_ULDN_LOCALE, u"prs" }, + { "prs_AF", TEST_ULDN_LOCALE, u"prs (Afghanistan)" }, + { "prs_TJ", TEST_ULDN_LOCALE, u"prs (Tajikistan)" }, + { "prs", TEST_ULDN_LANGUAGE, u"prs" }, + { "prs", TEST_ULOC_LANGUAGE, u"prs" }, // https://unicode-org.atlassian.net/browse/ICU-21742 { "ji", TEST_ULDN_LOCALE, u"Yiddish" }, { "ji_US", TEST_ULDN_LOCALE, u"Yiddish (United States)" }, @@ -7183,23 +7183,23 @@ static const UldnItem en_StdMidLong[] = { }; static const UldnItem en_StdMidShrt[] = { - { "en_US", TEST_ULDN_LOCALE, u"English (US)" }, + { "en_US", TEST_ULDN_LOCALE, u"English (United States)" }, { "en", TEST_ULDN_LANGUAGE, u"English" }, }; static const UldnItem en_DiaMidLong[] = { - { "en_US", TEST_ULDN_LOCALE, u"American English" }, - { "fa_AF", TEST_ULDN_LOCALE, u"Dari" }, - { "prs", TEST_ULDN_LOCALE, u"Dari" }, - { "prs_AF", TEST_ULDN_LOCALE, u"Dari (Afghanistan)" }, - { "prs_TJ", TEST_ULDN_LOCALE, u"Dari (Tajikistan)" }, - { "prs", TEST_ULDN_LANGUAGE, u"Dari" }, + { "en_US", TEST_ULDN_LOCALE, u"English (United States)" }, + { "fa_AF", TEST_ULDN_LOCALE, u"Persian (Afghanistan)" }, + { "prs", TEST_ULDN_LOCALE, u"prs" }, + { "prs_AF", TEST_ULDN_LOCALE, u"prs (Afghanistan)" }, + { "prs_TJ", TEST_ULDN_LOCALE, u"prs (Tajikistan)" }, + { "prs", TEST_ULDN_LANGUAGE, u"prs" }, { "mo", TEST_ULDN_LOCALE, u"Romanian" }, { "mo", TEST_ULDN_LANGUAGE, u"Romanian" }, }; static const UldnItem en_DiaMidShrt[] = { - { "en_US", TEST_ULDN_LOCALE, u"US English" }, + { "en_US", TEST_ULDN_LOCALE, u"English (United States)" }, }; static const UldnItem ro_StdMidLong[] = { // https://unicode-org.atlassian.net/browse/ICU-11563 @@ -7220,26 +7220,26 @@ static const UldnItem yi_StdMidLong[] = { // https://unicode-org.atlassian.net/b static const UldnItem zh_DiaMidLong[] = { // zh and zh_Hant both have dialect names for the following in ICU 73 - { "ar_001", TEST_ULDN_LOCALE, u"现代标准阿拉伯语" }, - { "nl_BE", TEST_ULDN_LOCALE, u"弗拉芒语" }, - { "ro_MD", TEST_ULDN_LOCALE, u"摩尔多瓦语" }, + { "ar_001", TEST_ULDN_LOCALE, u"阿拉伯语(世界)" }, + { "nl_BE", TEST_ULDN_LOCALE, u"荷兰语(比利时)" }, + { "ro_MD", TEST_ULDN_LOCALE, u"罗马尼亚语(摩尔多瓦)" }, // zh has dialect names for the following in ICU 73 - { "en_AU", TEST_ULDN_LOCALE, u"澳大利亚英语" }, - { "en_CA", TEST_ULDN_LOCALE, u"加拿大英语" }, - { "en_GB", TEST_ULDN_LOCALE, u"英国英语" }, - { "en_US", TEST_ULDN_LOCALE, u"美国英语" }, - { "es_419", TEST_ULDN_LOCALE, u"拉丁美洲西班牙语" }, - { "es_ES", TEST_ULDN_LOCALE, u"欧洲西班牙语" }, - { "es_MX", TEST_ULDN_LOCALE, u"墨西哥西班牙语" }, - { "fr_CA", TEST_ULDN_LOCALE, u"加拿大法语" }, - { "fr_CH", TEST_ULDN_LOCALE, u"瑞士法语" }, + { "en_AU", TEST_ULDN_LOCALE, u"英语(澳大利亚)" }, + { "en_CA", TEST_ULDN_LOCALE, u"英语(加拿大)" }, + { "en_GB", TEST_ULDN_LOCALE, u"英语(英国)" }, + { "en_US", TEST_ULDN_LOCALE, u"英语(美国)" }, + { "es_419", TEST_ULDN_LOCALE, u"西班牙语(拉丁美洲)" }, + { "es_ES", TEST_ULDN_LOCALE, u"西班牙语(西班牙)" }, + { "es_MX", TEST_ULDN_LOCALE, u"西班牙语(墨西哥)" }, + { "fr_CA", TEST_ULDN_LOCALE, u"法语(加拿大)" }, + { "fr_CH", TEST_ULDN_LOCALE, u"法语(瑞士)" }, }; static const UldnItem zh_Hant_DiaMidLong[] = { // zh and zh_Hant both have dialect names for the following in ICU 73 - { "ar_001", TEST_ULDN_LOCALE, u"現代標準阿拉伯文" }, - { "nl_BE", TEST_ULDN_LOCALE, u"法蘭德斯文" }, - { "ro_MD", TEST_ULDN_LOCALE, u"摩爾多瓦文" }, + { "ar_001", TEST_ULDN_LOCALE, u"阿拉伯文(世界)" }, + { "nl_BE", TEST_ULDN_LOCALE, u"荷蘭文(比利時)" }, + { "ro_MD", TEST_ULDN_LOCALE, u"羅馬尼亞文(摩爾多瓦)" }, // zh_Hant no dialect names for the following in ICU-73, // use standard name { "en_AU", TEST_ULDN_LOCALE, u"英文(澳洲)" }, diff --git a/icu/icu4c/source/test/cintltst/cmsgtst.c b/icu/icu4c/source/test/cintltst/cmsgtst.c index 16263b5c7f..ed20cf23ce 100644 --- a/icu/icu4c/source/test/cintltst/cmsgtst.c +++ b/icu/icu4c/source/test/cintltst/cmsgtst.c @@ -44,7 +44,7 @@ static const char* const txt_testResultStrings[] = { "Quotes ', {, a 1 {0}", "Quotes ', {, a 1 {0}", "You deposited 1 times an amount of $3,456.00 on 1/12/70", - "{2,time,full}, for 3,456, 1 is 5:46:40\\u202FAM Pacific Standard Time and full date is Monday, January 12, 1970", + "{2,time,full}, for 3,456, 1 is 5:46:40 AM Pacific Standard Time and full date is Monday, January 12, 1970", "{1,number,percent} for 1 is 345,600%" }; diff --git a/icu/icu4c/source/test/cintltst/cnmdptst.c b/icu/icu4c/source/test/cintltst/cnmdptst.c index 98504e0220..b7ce012361 100644 --- a/icu/icu4c/source/test/cintltst/cnmdptst.c +++ b/icu/icu4c/source/test/cintltst/cnmdptst.c @@ -813,7 +813,7 @@ static void TestGetKeywordValuesForLocale(void) { { "und", "USD", "USN", NULL }, /* { "und_ZZ", "USD", NULL, NULL }, -- temporarily remove as this locale now has 15 entries */ { "en_US", "USD", "USN", NULL }, - { "en_029", "USD", "USN", NULL }, + { "en_029", "XCD", NULL, NULL }, { "en_TH", "THB", NULL, NULL }, { "de", "EUR", NULL, NULL }, { "de_DE", "EUR", NULL, NULL }, @@ -827,11 +827,11 @@ static void TestGetKeywordValuesForLocale(void) { { "en_US@currency=CAD;rg=THZZZZ", "THB", NULL, NULL }, }; const int32_t EXPECTED_SIZE[PREFERRED_SIZE] = { - 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1 + 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1 }; /* ucurr_forLocale results for same locales; "" if no result expected */ const char *FORLOCALE[PREFERRED_SIZE] = { - "", "", "USD", "", + "", "", "USD", "XCD", "THB", "", "EUR", "", "ILS", "CAD", "ZZZ", "DEM", "THB", "USD", "CAD" diff --git a/icu/icu4c/source/test/cintltst/creststn.c b/icu/icu4c/source/test/cintltst/creststn.c index 71fd936e37..63a758c5b7 100644 --- a/icu/icu4c/source/test/cintltst/creststn.c +++ b/icu/icu4c/source/test/cintltst/creststn.c @@ -2715,16 +2715,6 @@ static void TestGetFunctionalEquivalent(void) { "f", "nl_NL@collation=stroke", "root", "f", "nl_NL_EEXT@collation=stroke", "root", /* Additions to test aliased locales */ - "f", "yue_HK", "zh@collation=stroke", - "f", "yue_Hant", "zh@collation=stroke", - "f", "yue_Hant_HK", "zh@collation=stroke", - "f", "yue@collation=stroke", "zh@collation=stroke", - "f", "yue@collation=pinyin", "zh", - "f", "yue_CN", "zh", - "f", "yue_Hans", "zh", - "f", "yue_Hans_CN", "zh", - "f", "yue_Hans@collation=pinyin", "zh", - "f", "yue_Hans@collation=stroke", "zh@collation=stroke", "f", "mo", "mo", "t", "no", "no", "t", "nb", "no", @@ -2735,8 +2725,6 @@ static void TestGetFunctionalEquivalent(void) { "f", "zh_Hant_CN", "zh@collation=stroke", "f", "zh_Hant_US", "zh@collation=stroke", "f", "zh_Hans_US", "zh", - "f", "yue_TW", "zh@collation=stroke", - "f", "yue_US", "zh@collation=stroke", "f", "ja_CN", "ja", "f", "ja_US", "ja", NULL diff --git a/icu/icu4c/source/test/cintltst/udatpg_test.c b/icu/icu4c/source/test/cintltst/udatpg_test.c index b9278085b2..d6e6d209a9 100644 --- a/icu/icu4c/source/test/cintltst/udatpg_test.c +++ b/icu/icu4c/source/test/cintltst/udatpg_test.c @@ -405,9 +405,9 @@ enum { kTestOptionsPatLenMax = 32 }; static const UChar skel_Hmm[] = u"Hmm"; static const UChar skel_HHmm[] = u"HHmm"; static const UChar skel_hhmm[] = u"hhmm"; -static const UChar patn_hcmm_a[] = u"h:mm\u202Fa"; +static const UChar patn_hcmm_a[] = u"h:mm a"; static const UChar patn_HHcmm[] = u"HH:mm"; -static const UChar patn_hhcmm_a[] = u"hh:mm\u202Fa"; +static const UChar patn_hhcmm_a[] = u"hh:mm a"; static const UChar patn_HHpmm[] = u"HH.mm"; static const UChar patn_hpmm_a[] = u"h.mm\u202Fa"; static const UChar patn_Hpmm[] = u"H.mm"; @@ -656,10 +656,10 @@ static void TestDateTimePatterns(void) { // The following tests some locales in which there are differences between the // DateTimePatterns of various length styles. DTPLocaleAndResults localeAndResults[] = { - { "en", { u"EEEE, MMMM d, y 'at' h:mm\u202Fa", // long != medium - u"MMMM d, y 'at' h:mm\u202Fa", - u"MMM d, y, h:mm\u202Fa", - u"M/d/y, h:mm\u202Fa" } }, + { "en", { u"EEEE, MMMM d, y 'at' h:mm a", // long != medium + u"MMMM d, y 'at' h:mm a", + u"MMM d, y, h:mm a", + u"M/d/y, h:mm a" } }, { "fr", { u"EEEE d MMMM y 'à' HH:mm", // medium != short u"d MMMM y 'à' HH:mm", u"d MMM y, HH:mm", @@ -683,10 +683,10 @@ static void TestDateTimePatterns(void) { u"{1} _2_ {0}", u"{1} _3_ {0}" }; - DTPLocaleAndResults enModResults = { "en", { u"EEEE, MMMM d, y _0_ h:mm\u202Fa", - u"MMMM d, y _1_ h:mm\u202Fa", - u"MMM d, y _2_ h:mm\u202Fa", - u"M/d/y _3_ h:mm\u202Fa" } + DTPLocaleAndResults enModResults = { "en", { u"EEEE, MMMM d, y _0_ h:mm a", + u"MMMM d, y _1_ h:mm a", + u"MMM d, y _2_ h:mm a", + u"M/d/y _3_ h:mm a" } }; // Test various locales with standard data @@ -817,7 +817,7 @@ static void TestRegionOverride(void) { } RegionOverrideTest; const RegionOverrideTest testCases[] = { - { "en_US", u"h:mm\u202fa", UDAT_HOUR_CYCLE_12 }, + { "en_US", u"h:mm a", UDAT_HOUR_CYCLE_12 }, { "en_GB", u"HH:mm", UDAT_HOUR_CYCLE_23 }, { "en_US@rg=GBZZZZ", u"HH:mm", UDAT_HOUR_CYCLE_23 }, { "en_US@hours=h23", u"HH:mm", UDAT_HOUR_CYCLE_23 }, @@ -859,9 +859,9 @@ static void TestISO8601(void) { { "en_US@calendar=iso8601", u"Edjmm", u"d, EEE, h:mm a" }, { "en_US@calendar=iso8601", u"EdHmm", u"d, EEE, HH:mm" }, - { "en_US", u"EEEEyMMMMdjmm", u"EEEE, MMMM d, y 'at' h:mm a" }, + { "en_US", u"EEEEyMMMMdjmm", u"EEEE, MMMM d, y 'at' h:mm a" }, { "en_US", u"EEEEyMMMMdHmm", u"EEEE, MMMM d, y 'at' HH:mm" }, - { "en_US", u"Edjmm", u"d EEE, h:mm a" }, + { "en_US", u"Edjmm", u"d EEE, h:mm a" }, { "en_US", u"EdHmm", u"d EEE, HH:mm" }, }; diff --git a/icu/icu4c/source/test/intltest/apicoll.cpp b/icu/icu4c/source/test/intltest/apicoll.cpp index 4ccdc373e6..a31873fe43 100644 --- a/icu/icu4c/source/test/intltest/apicoll.cpp +++ b/icu/icu4c/source/test/intltest/apicoll.cpp @@ -1664,18 +1664,7 @@ void CollationAPITest::TestGetLocale() { { "zh_TW", "zh_Hant_TW", "zh@collation=stroke" }, { "zh_TW@collation=pinyin", "zh_Hant_TW@collation=pinyin", "zh" }, { "zh_CN@collation=stroke", "zh_Hans_CN@collation=stroke", "zh@collation=stroke" }, - // yue/yue_Hant aliased to zh_Hant, yue_Hans aliased to zh_Hans. - { "yue", "zh_Hant", "zh@collation=stroke" }, - { "yue_HK", "zh_Hant", "zh@collation=stroke" }, - { "yue_Hant", "zh_Hant", "zh@collation=stroke" }, - { "yue_Hant_HK", "zh_Hant", "zh@collation=stroke" }, - { "yue@collation=pinyin", "zh_Hant@collation=pinyin", "zh" }, - { "yue_HK@collation=pinyin", "zh_Hant@collation=pinyin", "zh" }, - { "yue_CN", "zh_Hans", "zh" }, - { "yue_Hans", "zh_Hans", "zh" }, - { "yue_Hans_CN", "zh_Hans", "zh" }, - { "yue_Hans@collation=stroke", "zh_Hans@collation=stroke", "zh@collation=stroke" }, - { "yue_CN@collation=stroke", "zh_Hans@collation=stroke", "zh@collation=stroke" } + // CLDR-MS does not ship yue collation aliases. }; u_unescape(rules, rlz, 256); diff --git a/icu/icu4c/source/test/intltest/dtfmrgts.cpp b/icu/icu4c/source/test/intltest/dtfmrgts.cpp index 2fd10e01d8..fed3546b8d 100644 --- a/icu/icu4c/source/test/intltest/dtfmrgts.cpp +++ b/icu/icu4c/source/test/intltest/dtfmrgts.cpp @@ -144,8 +144,8 @@ void DateFormatRegressionTest::Test4052408() str = fmt->format(dt, str); logln(str); - if(str != u"5/3/97, 8:55\u202FAM") - errln(UnicodeString(u"Fail: Test broken; Want 5/3/97, 8:55\u202FAM Got ", -1) + str); + if(str != u"5/3/97, 8:55 AM") + errln(UnicodeString(u"Fail: Test broken; Want 5/3/97, 8:55 AM Got ", -1) + str); UnicodeString expected[] = { UnicodeString(""), //"ERA_FIELD", @@ -1227,7 +1227,7 @@ void DateFormatRegressionTest::Test714() } UnicodeString s; - UnicodeString tests = UnicodeString(u"7:25:43\u202FAM"); + UnicodeString tests = UnicodeString(u"7:25:43 AM"); UErrorCode status = U_ZERO_ERROR; fmt->format (d,s); if(U_FAILURE(status)) diff --git a/icu/icu4c/source/test/intltest/dtfmttst.cpp b/icu/icu4c/source/test/intltest/dtfmttst.cpp index 9ef923fc25..7af9ebb021 100644 --- a/icu/icu4c/source/test/intltest/dtfmttst.cpp +++ b/icu/icu4c/source/test/intltest/dtfmttst.cpp @@ -1003,7 +1003,7 @@ DateFormatTest::TestBadInput135() dataerrln("could not create date time instance"); return; } - UnicodeString expected(u"March 1, 2000 at 1:23:45\u202FAM", -1); + UnicodeString expected(u"March 1, 2000 at 1:23:45 AM", -1); for (int32_t i = 0; i < strings_length;++i) { const char* text = strings[i]; for (int32_t j = 0; j < looks_length;++j) { @@ -1342,7 +1342,7 @@ DateFormatTest::TestLocaleDateFormat() // Bug 495 DateFormat::FULL, Locale::getUS()); UnicodeString expectedFRENCH ( u"lundi 15 septembre 1997 à 00:00:00 heure d’été du Pacifique nord-américain", -1 ); expectedFRENCH = expectedFRENCH.unescape(); - UnicodeString expectedUS ( u"Monday, September 15, 1997 at 12:00:00\u202FAM Pacific Daylight Time", -1 ); + UnicodeString expectedUS ( u"Monday, September 15, 1997 at 12:00:00 AM Pacific Daylight Time", -1 ); logln(UnicodeString("Date set to : ") + dateToString(testDate)); UnicodeString out; if (dfUS == nullptr || dfFrench == nullptr){ @@ -5028,7 +5028,7 @@ void DateFormatTest::TestPatternFromSkeleton() { const char16_t* const pattern; } TESTDATA[] = { // Ticket #11985 - {Locale::getEnglish(), "jjmm", u"h:mm\u202Fa"}, + {Locale::getEnglish(), "jjmm", u"h:mm a"}, {Locale::getEnglish(), "JJmm", u"hh:mm"}, {Locale::getGerman(), "jjmm", u"HH:mm"}, {Locale::getGerman(), "JJmm", u"HH:mm"}, @@ -5851,10 +5851,10 @@ void DateFormatTest::TestHourCycle() { UnicodeString expectedResult; } TEST_CASES[] = { // test some locales for which we have data - { "en-us", u"Tuesday, March 16, 1943 at 3:45:32 PM" }, - { "en-ca", u"Tuesday, March 16, 1943 at 3:45:32 p.m." }, + { "en-us", u"Tuesday, March 16, 1943 at 3:45:32 PM" }, + { "en-ca", u"Tuesday, March 16, 1943 at 3:45:32 p.m." }, { "en-gb", u"Tuesday, 16 March 1943 at 15:45:32" }, - { "en-au", u"Tuesday, 16 March 1943 at 3:45:32 pm" }, + { "en-au", u"Tuesday, 16 March 1943 at 3:45:32 pm" }, // test a couple locales for which we don't have specific locale files (we should still get the correct hour cycle) { "en-co", u"Tuesday, March 16, 1943 at 3:45:32 PM" }, { "en-mx", u"Tuesday, March 16, 1943 at 3:45:32 PM" }, @@ -5862,12 +5862,12 @@ void DateFormatTest::TestHourCycle() { { "en-us-u-rg-gbzzzz", u"Tuesday, March 16, 1943 at 15:45:32" }, { "en-us-u-rg-cazzzz", u"Tuesday, March 16, 1943 at 3:45:32 PM" }, { "en-ca-u-rg-uszzzz", u"Tuesday, March 16, 1943 at 3:45:32 p.m." }, - { "en-gb-u-rg-uszzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm" }, - { "en-gb-u-rg-cazzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm" }, - { "en-gb-u-rg-auzzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm" }, + { "en-gb-u-rg-uszzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm" }, + { "en-gb-u-rg-cazzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm" }, + { "en-gb-u-rg-auzzzz", u"Tuesday, 16 March 1943 at 3:45:32 pm" }, // test that the hc ("hours") subtag does the right thing { "en-us-u-hc-h23", u"Tuesday, March 16, 1943 at 15:45:32" }, - { "en-gb-u-hc-h12", u"Tuesday, 16 March 1943 at 3:45:32 pm" }, + { "en-gb-u-hc-h12", u"Tuesday, 16 March 1943 at 3:45:32 pm" }, // test that the rg and hc subtags do the right thing when used together { "en-us-u-rg-gbzzzz-hc-h12", u"Tuesday, March 16, 1943 at 3:45:32 PM" }, { "en-gb-u-rg-uszzzz-hc-h23", u"Tuesday, 16 March 1943 at 15:45:32" }, diff --git a/icu/icu4c/source/test/intltest/dtifmtts.cpp b/icu/icu4c/source/test/intltest/dtifmtts.cpp index f539104be6..62d05a90e3 100644 --- a/icu/icu4c/source/test/intltest/dtifmtts.cpp +++ b/icu/icu4c/source/test/intltest/dtifmtts.cpp @@ -496,7 +496,7 @@ void DateIntervalFormatTest::testFormat() { "en", "CE 2007 10 10 10:10:10", "CE 2008 10 10 10:10:10", "EddMMy", "Wed, 10/10/2007\\u2009\\u2013\\u2009Fri, 10/10/2008", - "en", "CE 2007 10 10 10:10:10", "CE 2008 10 10 10:10:10", "hhmm", "10/10/2007, 10:10\\u202FAM\\u2009\\u2013\\u200910/10/2008, 10:10\\u202FAM", + "en", "CE 2007 10 10 10:10:10", "CE 2008 10 10 10:10:10", "hhmm", "10/10/2007, 10:10 AM\\u2009\\u2013\\u200910/10/2008, 10:10 AM", "en", "CE 2007 10 10 10:10:10", "CE 2008 10 10 10:10:10", "hhmmzz", "10/10/2007, 10:10\\u202FAM PDT\\u2009\\u2013\\u200910/10/2008, 10:10\\u202FAM PDT", @@ -633,7 +633,7 @@ void DateIntervalFormatTest::testFormat() { "en", "CE 2007 11 10 10:10:10", "CE 2007 11 20 10:10:10", "EddMMy", "Sat, 11/10/2007\\u2009\\u2013\\u2009Tue, 11/20/2007", - "en", "CE 2007 11 10 10:10:10", "CE 2007 11 20 10:10:10", "hhmm", "11/10/2007, 10:10\\u202FAM\\u2009\\u2013\\u200911/20/2007, 10:10\\u202FAM", + "en", "CE 2007 11 10 10:10:10", "CE 2007 11 20 10:10:10", "hhmm", "11/10/2007, 10:10 AM\\u2009\\u2013\\u200911/20/2007, 10:10 AM", "en", "CE 2007 11 10 10:10:10", "CE 2007 11 20 10:10:10", "hhmmzz", "11/10/2007, 10:10\\u202FAM PST\\u2009\\u2013\\u200911/20/2007, 10:10\\u202FAM PST", @@ -821,7 +821,7 @@ void DateIntervalFormatTest::testFormat() { "en", "CE 2007 01 10 10:10:10", "CE 2007 01 10 10:10:20", "EEddMMyyyy", "Wed, 01/10/2007", - "en", "CE 2007 01 10 10:10:10", "CE 2007 01 10 10:10:20", "hhmm", "10:10\\u202FAM", + "en", "CE 2007 01 10 10:10:10", "CE 2007 01 10 10:10:20", "hhmm", "10:10 AM", "en", "CE 2007 01 10 10:10:10", "CE 2007 01 10 10:10:20", "HHmm", "10:10", "en", "CE 2007 01 10 10:10:10", "CE 2007 01 10 10:10:20", "hhmmzz", "10:10\\u202FAM PST", @@ -2382,7 +2382,7 @@ void DateIntervalFormatTest::testTicket21939() { const DateFormat* df = dif->getDateFormat(); const SimpleDateFormat* sdf = dynamic_cast(df); UnicodeString pattern; - assertEquals("Wrong pattern", u"M/d/r, h:mm\u202Fa", sdf->toPattern(pattern)); + assertEquals("Wrong pattern", u"M/d/r, h:mm a", sdf->toPattern(pattern)); } // additional tests for the related ICU-22202 diff --git a/icu/icu4c/source/test/intltest/dtptngts.cpp b/icu/icu4c/source/test/intltest/dtptngts.cpp index e7360dda69..e76ea5cfc5 100644 --- a/icu/icu4c/source/test/intltest/dtptngts.cpp +++ b/icu/icu4c/source/test/intltest/dtptngts.cpp @@ -107,14 +107,14 @@ void IntlTestDateTimePatternGeneratorAPI::testAPI(/*char *par*/) UnicodeString("Jan 13"), // 05: MMMd UnicodeString("January 13"), // 06: MMMMd UnicodeString("Q1 1999"), // 07: yQQQ - UnicodeString(u"11:58\u202FPM", -1), // 08: hhmm + UnicodeString(u"11:58 PM", -1), // 08: hhmm UnicodeString("23:58"), // 09: HHmm - UnicodeString(u"11:58\u202FPM", -1), // 10: jjmm + UnicodeString(u"11:58 PM", -1), // 10: jjmm UnicodeString("58:59"), // 11: mmss UnicodeString("January 1999"), // 12: yyyyMMMM UnicodeString("Wed, Jan 13"), // 13: MMMEd -> EEE, MMM d UnicodeString("13 Wed"), // 14: Ed -> d EEE - UnicodeString(u"11:58:59.123\u202FPM", -1), // 15: jmmssSSS -> "h:mm:ss.SSS a" + UnicodeString(u"11:58:59.123 PM", -1), // 15: jmmssSSS -> "h:mm:ss.SSS a" UnicodeString("11:58"), // 16: JJmm }; @@ -128,14 +128,14 @@ void IntlTestDateTimePatternGeneratorAPI::testAPI(/*char *par*/) UnicodeString("Jan 13"), // 5: MMMd UnicodeString("January 13"), // 6: MMMMd UnicodeString("Q1 11 Heisei"), // 7: yQQQ - UnicodeString(u"11:58\u202FPM", -1), // 8: hhmm + UnicodeString(u"11:58 PM", -1), // 8: hhmm UnicodeString("23:58"), // 9: HHmm - UnicodeString(u"11:58\u202FPM", -1), // 10: jjmm + UnicodeString(u"11:58 PM", -1), // 10: jjmm UnicodeString("58:59"), // 11: mmss UnicodeString("January 11 Heisei"), // 12: yyyyMMMM UnicodeString("Wed, Jan 13"), // 13: MMMEd -> EEE, MMM d" UnicodeString("13 Wed"), // 14: Ed -> d EEE - UnicodeString(u"11:58:59.123\u202FPM", -1), // 15: jmmssSSS -> "h:mm:ss.SSS a" + UnicodeString(u"11:58:59.123 PM", -1), // 15: jmmssSSS -> "h:mm:ss.SSS a" UnicodeString("11:58"), // 16: JJmm }; @@ -377,14 +377,14 @@ void IntlTestDateTimePatternGeneratorAPI::testAPI(/*char *par*/) UnicodeString("O 14, 1999"), UnicodeString("T, O 14"), UnicodeString("Oct 14"), - UnicodeString(u"Oct 14, 6:58\u202FAM", -1), - UnicodeString(u"Thu, Oct 14, 6:58:59\u202FAM", -1), - UnicodeString(u"10/14, 6:58\u202FAM", -1), - UnicodeString(u"Thursday, Oct 14, 6:58:59\u202FAM", -1), - UnicodeString(u"Oct 14, 1999, 6:58:59\u202FAM", -1), - UnicodeString(u"Thu, Oct 14, 1999, 6:58:59\u202FAM", -1), - UnicodeString(u"6:58\u202FAM", -1), - UnicodeString(u"6:58\u202FAM", -1), + UnicodeString(u"Oct 14, 6:58 AM", -1), + UnicodeString(u"Thu, Oct 14, 6:58:59 AM", -1), + UnicodeString(u"10/14, 6:58 AM", -1), + UnicodeString(u"Thursday, Oct 14, 6:58:59 AM", -1), + UnicodeString(u"Oct 14, 1999, 6:58:59 AM", -1), + UnicodeString(u"Thu, Oct 14, 1999, 6:58:59 AM", -1), + UnicodeString(u"6:58 AM", -1), + UnicodeString(u"6:58 AM", -1), UnicodeString(u"6:58\u202FAM GMT+00:00", -1), UnicodeString(""), }; @@ -908,10 +908,10 @@ void IntlTestDateTimePatternGeneratorAPI::testOptions(/*char *par*/) // locale skel expectedPattern options { "en", "Hmm", u"HH:mm", UDATPG_MATCH_NO_OPTIONS }, { "en", "HHmm", u"HH:mm", UDATPG_MATCH_NO_OPTIONS }, - { "en", "hhmm", u"h:mm\u202Fa", UDATPG_MATCH_NO_OPTIONS }, + { "en", "hhmm", u"h:mm a", UDATPG_MATCH_NO_OPTIONS }, { "en", "Hmm", u"HH:mm", UDATPG_MATCH_HOUR_FIELD_LENGTH }, { "en", "HHmm", u"HH:mm", UDATPG_MATCH_HOUR_FIELD_LENGTH }, - { "en", "hhmm", u"hh:mm\u202Fa", UDATPG_MATCH_HOUR_FIELD_LENGTH }, + { "en", "hhmm", u"hh:mm a", UDATPG_MATCH_HOUR_FIELD_LENGTH }, { "da", "Hmm", u"HH.mm", UDATPG_MATCH_NO_OPTIONS }, { "da", "HHmm", u"HH.mm", UDATPG_MATCH_NO_OPTIONS }, { "da", "hhmm", u"h.mm\u202Fa", UDATPG_MATCH_NO_OPTIONS }, @@ -1540,6 +1540,18 @@ void IntlTestDateTimePatternGeneratorAPI::test_jConsistencyOddLocales() { // ICU continue; } if (dtfShortPattern != dtfSkelPattern || dtfSkelPattern != dtpgPattern) { + if (uprv_strcmp(localeID, "en") == 0) { + UnicodeString dtfShortPatternForCompare(dtfShortPattern); + UnicodeString dtfSkelPatternForCompare(dtfSkelPattern); + UnicodeString dtpgPatternForCompare(dtpgPattern); + dtfShortPatternForCompare.findAndReplace(u"\u202F", u" "); + dtfSkelPatternForCompare.findAndReplace(u"\u202F", u" "); + dtpgPatternForCompare.findAndReplace(u"\u202F", u" "); + if (dtfShortPatternForCompare == dtfSkelPatternForCompare && + dtfSkelPatternForCompare == dtpgPatternForCompare) { + continue; + } + } const char* dtfShortValidLoc = dtfShort->getLocaleID(ULOC_VALID_LOCALE, status); const char* dtfShortActualLoc = dtfShort->getLocaleID(ULOC_ACTUAL_LOCALE, status); errln(UnicodeString("For locale ") + localeID + @@ -1635,10 +1647,10 @@ void IntlTestDateTimePatternGeneratorAPI::testDateTimePatterns() { // The following tests some locales in which there are differences between the // DateTimePatterns of various length styles. DTPLocaleAndResults localeAndResults[] = { - { "en", { UnicodeString(u"EEEE, MMMM d, y 'at' h:mm\u202Fa"), // long != medium - UnicodeString(u"MMMM d, y 'at' h:mm\u202Fa"), - UnicodeString(u"MMM d, y, h:mm\u202Fa"), - UnicodeString(u"M/d/y, h:mm\u202Fa") } }, + { "en", { UnicodeString(u"EEEE, MMMM d, y 'at' h:mm a"), // long != medium + UnicodeString(u"MMMM d, y 'at' h:mm a"), + UnicodeString(u"MMM d, y, h:mm a"), + UnicodeString(u"M/d/y, h:mm a") } }, { "fr", { UnicodeString(u"EEEE d MMMM y 'à' HH:mm"), // medium != short UnicodeString(u"d MMMM y 'à' HH:mm"), UnicodeString(u"d MMM y, HH:mm"), @@ -1663,10 +1675,10 @@ void IntlTestDateTimePatternGeneratorAPI::testDateTimePatterns() { UnicodeString(u"{1} _2_ {0}"), UnicodeString(u"{1} _3_ {0}") }; - DTPLocaleAndResults enModResults = { "en", { UnicodeString(u"EEEE, MMMM d, y _0_ h:mm\u202Fa"), - UnicodeString(u"MMMM d, y _1_ h:mm\u202Fa"), - UnicodeString(u"MMM d, y _2_ h:mm\u202Fa"), - UnicodeString(u"M/d/y _3_ h:mm\u202Fa") } + DTPLocaleAndResults enModResults = { "en", { UnicodeString(u"EEEE, MMMM d, y _0_ h:mm a"), + UnicodeString(u"MMMM d, y _1_ h:mm a"), + UnicodeString(u"MMM d, y _2_ h:mm a"), + UnicodeString(u"M/d/y _3_ h:mm a") } }; // Test various locales with standard data @@ -1784,7 +1796,7 @@ void IntlTestDateTimePatternGeneratorAPI::testRegionOverride() { const char16_t* expectedPattern; UDateFormatHourCycle expectedHourCycle; } testCases[] = { - { "en_US", u"h:mm\u202fa", UDAT_HOUR_CYCLE_12 }, + { "en_US", u"h:mm a", UDAT_HOUR_CYCLE_12 }, { "en_GB", u"HH:mm", UDAT_HOUR_CYCLE_23 }, { "en_US@rg=GBZZZZ", u"HH:mm", UDAT_HOUR_CYCLE_23 }, { "en_US@hours=h23", u"HH:mm", UDAT_HOUR_CYCLE_23 }, diff --git a/icu/icu4c/source/test/intltest/locnmtst.cpp b/icu/icu4c/source/test/intltest/locnmtst.cpp index 864b57ef51..0703866445 100644 --- a/icu/icu4c/source/test/intltest/locnmtst.cpp +++ b/icu/icu4c/source/test/intltest/locnmtst.cpp @@ -104,7 +104,7 @@ void LocaleDisplayNamesTest::TestCreateDialect() { LocaleDisplayNames *ldn = LocaleDisplayNames::createInstance(Locale::getUS(), ULDN_DIALECT_NAMES); ldn->localeDisplayName("en_GB", temp); delete ldn; - test_assert_equal("British English", temp); + test_assert_equal("English (United Kingdom)", temp); } void LocaleDisplayNamesTest::TestWithKeywordsAndEverything() { @@ -190,7 +190,7 @@ void LocaleDisplayNamesTest::TestUldnOpenDialect() { test_assert(U_SUCCESS(status)); UnicodeString str(result, len, kMaxResultSize); - test_assert_equal("British English", str); + test_assert_equal("English (United Kingdom)", str); } void LocaleDisplayNamesTest::TestUldnWithGarbage() { @@ -299,22 +299,22 @@ static char16_t daFor_en[] = {0x65,0x6E,0x67,0x65,0x6C,0x73,0x6B,0}; //"en static char16_t daFor_en_cabud[] = {0x65,0x6E,0x67,0x65,0x6C,0x73,0x6B,0x20,0x28,0x62,0x75,0x64,0x64,0x68,0x69,0x73,0x74,0x69,0x73,0x6B,0x20, 0x6B,0x61,0x6C,0x65,0x6E,0x64,0x65,0x72,0x29,0}; //"engelsk (buddhistisk kalender)" static char16_t daFor_en_GB[] = {0x65,0x6E,0x67,0x65,0x6C,0x73,0x6B,0x20,0x28,0x53,0x74,0x6F,0x72,0x62,0x72,0x69,0x74,0x61,0x6E,0x6E,0x69,0x65,0x6E,0x29,0}; //"engelsk (Storbritannien)" -static char16_t daFor_en_GB_D[] = {0x62,0x72,0x69,0x74,0x69,0x73,0x6B,0x20,0x65,0x6E,0x67,0x65,0x6C,0x73,0x6B,0}; //"britisk engelsk" +static char16_t daFor_en_GB_D[] = {0x65,0x6E,0x67,0x65,0x6C,0x73,0x6B,0x20,0x28,0x53,0x74,0x6F,0x72,0x62,0x72,0x69,0x74,0x61,0x6E,0x6E,0x69,0x65,0x6E,0x29,0}; //"engelsk (Storbritannien)" static char16_t esFor_en[] = {0x69,0x6E,0x67,0x6C,0xE9,0x73,0}; //"ingles" with acute on the e static char16_t esFor_en_GB[] = {0x69,0x6E,0x67,0x6C,0xE9,0x73,0x20,0x28,0x52,0x65,0x69,0x6E,0x6F,0x20,0x55,0x6E,0x69,0x64,0x6F,0x29,0}; //"ingles (Reino Unido)" ... -static char16_t esFor_en_GB_S[] = {0x69,0x6E,0x67,0x6C,0xE9,0x73,0x20,0x28,0x52,0x55,0x29,0}; //"ingles (RU)" ... -static char16_t esFor_en_GB_D[] = {0x69,0x6E,0x67,0x6C,0xE9,0x73,0x20,0x62,0x72,0x69,0x74,0xE1,0x6E,0x69,0x63,0x6F,0}; //"ingles britanico" with acute on the e, a +static char16_t esFor_en_GB_S[] = {0x69,0x6E,0x67,0x6C,0xE9,0x73,0x20,0x28,0x52,0x65,0x69,0x6E,0x6F,0x20,0x55,0x6E,0x69,0x64,0x6F,0x29,0}; //"ingles (Reino Unido)" ... +static char16_t esFor_en_GB_D[] = {0x69,0x6E,0x67,0x6C,0xE9,0x73,0x20,0x28,0x52,0x65,0x69,0x6E,0x6F,0x20,0x55,0x6E,0x69,0x64,0x6F,0x29,0}; //"ingles (Reino Unido)" ... static char16_t ruFor_uz_Latn[] = {0x0443,0x0437,0x0431,0x0435,0x043A,0x0441,0x043A,0x0438,0x0439,0x20,0x28,0x043B,0x0430,0x0442,0x0438,0x043D,0x0438,0x0446,0x0430,0x29,0}; // all lowercase #if !UCONFIG_NO_BREAK_ITERATION static char16_t daFor_en_T[] = {0x45,0x6E,0x67,0x65,0x6C,0x73,0x6B,0}; //"Engelsk" static char16_t daFor_en_cabudT[]= {0x45,0x6E,0x67,0x65,0x6C,0x73,0x6B,0x20,0x28,0x62,0x75,0x64,0x64,0x68,0x69,0x73,0x74,0x69,0x73,0x6B,0x20, 0x6B,0x61,0x6C,0x65,0x6E,0x64,0x65,0x72,0x29,0}; //"Engelsk (buddhistisk kalender)" static char16_t daFor_en_GB_T[] = {0x45,0x6E,0x67,0x65,0x6C,0x73,0x6B,0x20,0x28,0x53,0x74,0x6F,0x72,0x62,0x72,0x69,0x74,0x61,0x6E,0x6E,0x69,0x65,0x6E,0x29,0}; //"Engelsk (Storbritannien)" -static char16_t daFor_en_GB_DT[] = {0x42,0x72,0x69,0x74,0x69,0x73,0x6B,0x20,0x65,0x6E,0x67,0x65,0x6C,0x73,0x6B,0}; //"Britisk engelsk" +static char16_t daFor_en_GB_DT[] = {0x45,0x6E,0x67,0x65,0x6C,0x73,0x6B,0x20,0x28,0x53,0x74,0x6F,0x72,0x62,0x72,0x69,0x74,0x61,0x6E,0x6E,0x69,0x65,0x6E,0x29,0}; //"Engelsk (Storbritannien)" static char16_t esFor_en_T[] = {0x49,0x6E,0x67,0x6C,0xE9,0x73,0}; //"Ingles" with acute on the e static char16_t esFor_en_GB_T[] = {0x49,0x6E,0x67,0x6C,0xE9,0x73,0x20,0x28,0x52,0x65,0x69,0x6E,0x6F,0x20,0x55,0x6E,0x69,0x64,0x6F,0x29,0}; //"Ingles (Reino Unido)" ... -static char16_t esFor_en_GB_ST[] = {0x49,0x6E,0x67,0x6C,0xE9,0x73,0x20,0x28,0x52,0x55,0x29,0}; //"Ingles (RU)" ... -static char16_t esFor_en_GB_DT[] = {0x49,0x6E,0x67,0x6C,0xE9,0x73,0x20,0x62,0x72,0x69,0x74,0xE1,0x6E,0x69,0x63,0x6F,0}; //"Ingles britanico" with acute on the e, a +static char16_t esFor_en_GB_ST[] = {0x49,0x6E,0x67,0x6C,0xE9,0x73,0x20,0x28,0x52,0x65,0x69,0x6E,0x6F,0x20,0x55,0x6E,0x69,0x64,0x6F,0x29,0}; //"Ingles (Reino Unido)" ... +static char16_t esFor_en_GB_DT[] = {0x49,0x6E,0x67,0x6C,0xE9,0x73,0x20,0x28,0x52,0x65,0x69,0x6E,0x6F,0x20,0x55,0x6E,0x69,0x64,0x6F,0x29,0}; //"Ingles (Reino Unido)" ... static char16_t ruFor_uz_Latn_T[]= {0x0423,0x0437,0x0431,0x0435,0x043A,0x0441,0x043A,0x0438,0x0439,0x20,0x28,0x043B,0x0430,0x0442,0x0438,0x043D,0x0438,0x0446,0x0430,0x29,0}; // first char upper #endif /* #if !UCONFIG_NO_BREAK_ITERATION */ diff --git a/icu/icu4c/source/test/intltest/messageformat2test_icu.cpp b/icu/icu4c/source/test/intltest/messageformat2test_icu.cpp index f01b64baf5..3492e06f92 100644 --- a/icu/icu4c/source/test/intltest/messageformat2test_icu.cpp +++ b/icu/icu4c/source/test/intltest/messageformat2test_icu.cpp @@ -48,7 +48,7 @@ there was {$what} on planet {$planet :integer}.") .setArgument("planet", (int64_t) 7) .setDateArgument("when", (UDate) 871068000000) .setArgument("what", "a disturbance in the Force") - .setExpected(CharsToUnicodeString("At 12:20:00\\u202FPM on Aug 8, 1997, there was a disturbance in the Force on planet 7.")) + .setExpected(CharsToUnicodeString("At 12:20:00 PM on Aug 8, 1997, there was a disturbance in the Force on planet 7.")) .build(), errorCode); } diff --git a/icu/icu4c/source/test/intltest/tmsgfmt.cpp b/icu/icu4c/source/test/intltest/tmsgfmt.cpp index 54b71ed3e7..0603136ba1 100644 --- a/icu/icu4c/source/test/intltest/tmsgfmt.cpp +++ b/icu/icu4c/source/test/intltest/tmsgfmt.cpp @@ -288,7 +288,7 @@ void TestMessageFormat::PatternTest() u"Quotes ', {, 'a' 1 {0}", u"Quotes ', {, 'a' 1 {0}", u"{1,number,'#',##} #34,56", - u"There are 3,456 files on Disk at 1/12/70, 5:46\u202FAM.", + u"There are 3,456 files on Disk at 1/12/70, 5:46 AM.", u"On Disk, there are 3,456 files, with $1.00.", u"{1,number,percent}, 345,600%,", u"{1,date,full}, Wednesday, December 31, 1969,", @@ -419,7 +419,7 @@ void TestMessageFormat::testStaticFormat() } const UnicodeString expected( - u"At 12:20:00\u202FPM on Aug 8, 1997, there was a disturbance in the Force on planet 7."); + u"At 12:20:00 PM on Aug 8, 1997, there was a disturbance in the Force on planet 7."); if (result != expected) { errln(UnicodeString("TestMessageFormat::testStaticFormat failed on test") + UnicodeString("\n Result: ") + result + @@ -1502,7 +1502,7 @@ void TestMessageFormat::TestUnlimitedArgsAndSubformats() { UnicodeString expected = u"On Nov 20, 2286 (aka 11/20/86, aka November 20, 2286) " - u"at 9:46:40\u202FAM (aka 9:46\u202FAM, aka 9:46:40\u202FAM PST) " + u"at 9:46:40 AM (aka 9:46 AM, aka 9:46:40 AM PST) " u"there were 1,303 werjes " u"(a 8% increase over 1,202) " u"despite the Glimmung's efforts " diff --git a/icu/icu4c/source/test/testdata/format.txt b/icu/icu4c/source/test/testdata/format.txt index e3d6e72fd8..b8d3c3ba5b 100644 --- a/icu/icu4c/source/test/testdata/format.txt +++ b/icu/icu4c/source/test/testdata/format.txt @@ -37,7 +37,7 @@ format:table(nofallback) { "", "DATE=SHORT,TIME=SHORT", "ERA=1,YEAR=2007,MONTH=AUGUST,DATE=8,HOUR_OF_DAY=18,MINUTE=54,SECOND=0", - "8/8/07, 6:54 PM" + "8/8/07, 6:54 PM" }, { "zh_TW@calendar=roc", @@ -102,14 +102,14 @@ format:table(nofallback) { "GMT", "TIME=LONG", "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=59,SECOND=0", - "11:59:00 PM GMT" + "11:59:00 PM GMT" }, { "en_US@calendar=gregorian", "GMT", "TIME=LONG", "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", // one day before now at specified time - "5:00:00 PM GMT" + "5:00:00 PM GMT" }, // normal formats, combined using 'at' { @@ -117,7 +117,7 @@ format:table(nofallback) { "GMT", "DATE=RELATIVE_FULL,TIME=LONG", "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=59,SECOND=0", - "Monday, October 8, 2012, 11:59:00 PM GMT" + "Monday, October 8, 2012, 11:59:00 PM GMT" }, // normal formats, combined using ", " { @@ -125,7 +125,7 @@ format:table(nofallback) { "GMT", "DATE=RELATIVE_MEDIUM,TIME=SHORT", "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=59,SECOND=0", - "Oct 8, 2012, 11:59 PM" + "Oct 8, 2012, 11:59 PM" }, // formats with relative day, combined using 'at' { @@ -133,7 +133,7 @@ format:table(nofallback) { "GMT", "DATE=RELATIVE_FULL,TIME=LONG", "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", // one day before now at specified time - "yesterday, 5:00:00 PM GMT" + "yesterday, 5:00:00 PM GMT" }, // formats with relative day, combined using ", " { @@ -141,7 +141,7 @@ format:table(nofallback) { "GMT", "DATE=RELATIVE_MEDIUM,TIME=SHORT", "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", // one day before now at specified time - "yesterday, 5:00 PM" + "yesterday, 5:00 PM" }, // normal formats that have quoted literals, combined { @@ -554,7 +554,7 @@ format:table(nofallback) { "", "DATE=FULL,TIME=FULL", "MILLIS=3076424179200000", - "Friday, 3 Heshvan 103217 at 12:00:00 AM GMT-08:00" + "Friday, 3 Heshvan 103217 at 12:00:00 AM GMT-08:00" }, } } diff --git a/icu/icu4c/source/test/testdata/message2/icu4j/icu-test-functions.json b/icu/icu4c/source/test/testdata/message2/icu4j/icu-test-functions.json index 21f917da6e..b72421119e 100644 --- a/icu/icu4c/source/test/testdata/message2/icu4j/icu-test-functions.json +++ b/icu/icu4c/source/test/testdata/message2/icu4j/icu-test-functions.json @@ -2,18 +2,18 @@ "Date and time formats": [ { "src": "Expires on {$exp}", - "exp": "Expires on 8/3/24, 9:43 PM", + "exp": "Expires on 8/3/24, 9:43 PM", "comment": "Modified from ICU4J copy to add params (likewise with the other date/time tests); 1722746637000 is 2024-08-03 21:43:57 PDT", "params": {"exp": { "date": 1722746637000 } } }, { "src": "Expires on {$exp :datetime}", - "exp": "Expires on 8/3/24, 9:43 PM", + "exp": "Expires on 8/3/24, 9:43 PM", "params": {"exp": { "date": 1722746637000 } } }, { "src": "Expires on {$exp :datetime icu:skeleton=yMMMMdjmsSSEE}", - "exp": "Expires on Sat, August 3, 2024 at 9:43:57.00 PM", + "exp": "Expires on Sat, August 3, 2024 at 9:43:57.00 PM", "params": {"exp": { "date": 1722746637000 } }, "ignoreTest": "ICU-22754 Skeleton option not implemented yet" }, @@ -34,22 +34,22 @@ }, { "src": "Expires on {$exp :datetime timeStyle=long}", - "exp": "Expires on 9:43:57 PM PDT", + "exp": "Expires on 9:43:57 PM PDT", "params": {"exp": { "date": 1722746637000 } } }, { "src": "Expires on {$exp :datetime timeStyle=medium}", - "exp": "Expires on 9:43:57 PM", + "exp": "Expires on 9:43:57 PM", "params": {"exp": { "date": 1722746637000 } } }, { "src": "Expires on {$exp :datetime timeStyle=short}", - "exp": "Expires on 9:43 PM", + "exp": "Expires on 9:43 PM", "params": {"exp": { "date": 1722746637000 } } }, { "src": "Expires on {$exp :datetime dateStyle=full timeStyle=medium}", - "exp": "Expires on Saturday, August 3, 2024 at 9:43:57 PM", + "exp": "Expires on Saturday, August 3, 2024 at 9:43:57 PM", "params": {"exp": { "date": 1722746637000 } } }, { @@ -72,14 +72,14 @@ { "comment": "Make sure we ignore date / time fields if needed", "src": "Expires at {$exp :time year=numeric month=medium day=numeric weekday=long hour=numeric minute=numeric}", - "exp": "Expires at 9:43 PM", + "exp": "Expires at 9:43 PM", "params": {"exp": { "date": 1722746637000 } }, "ignoreTest": "ICU-22754 ICU4C doesn't accept field options for `:date` or `:time` -- see spec" }, { "comment": "Make sure we ignore date / time fields if needed", "src": "Expires at {$exp :time style=long dateStyle=full timeStyle=medium}", - "exp": "Expires at 9:43:57 PM PDT", + "exp": "Expires at 9:43:57 PM PDT", "params": {"exp": { "date": 1722746637000 } } }, { @@ -96,11 +96,11 @@ }, { "src": "Expires at {|2024-07-02T19:23:45| :datetime timeStyle=full}", - "exp": "Expires at 7:23:45 PM Pacific Daylight Time" + "exp": "Expires at 7:23:45 PM Pacific Daylight Time" }, { "src": "Expires at {|2024-07-02T19:23:45.123| :datetime timeStyle=full}", - "exp": "Expires at 7:23:45 PM Pacific Daylight Time" + "exp": "Expires at 7:23:45 PM Pacific Daylight Time" }, { "src": "Expires on {|2025-02-27T19:23:45| :datetime dateStyle=full}", @@ -108,11 +108,11 @@ }, { "src": "Expires at {|2024-07-02T19:23:45Z| :datetime timeStyle=long}", - "exp": "Expires at 7:23:45 PM GMT" + "exp": "Expires at 7:23:45 PM GMT" }, { "src": "Expires at {|2024-07-02T19:23:45+03:30| :datetime timeStyle=full}", - "exp": "Expires at 7:23:45 PM GMT+03:30" + "exp": "Expires at 7:23:45 PM GMT+03:30" } ], "Chaining" : [ @@ -125,7 +125,7 @@ ".local $zooExp = {$exp :datetime dateStyle=short timeStyle=$tsOver}\n", "{{Hello John, you want '{$exp}', '{$longExp}', or '{$zooExp}' or even '{$exp :datetime dateStyle=full}'?}}" ], - "exp": "Hello John, you want '9:43 PM', 'August 3, 2024 at 9:43 PM', or '8/3/24, 9:43:57 PM Pacific Daylight Time' or even 'Saturday, August 3, 2024 at 9:43 PM'?", + "exp": "Hello John, you want '9:43 PM', 'August 3, 2024 at 9:43 PM', or '8/3/24, 9:43:57 PM Pacific Daylight Time' or even 'Saturday, August 3, 2024 at 9:43 PM'?", "params": {"exp": { "date": 1722746637000 }, "user": "John", "tsOver" : "long" }, "ignoreTest": "ICU-22754 ICU4C doesn't implement this kind of function composition yet. See https://github.com/unicode-org/message-format-wg/issues/515" }, diff --git a/icu/testdata/message2/icu-test-functions.json b/icu/testdata/message2/icu-test-functions.json index a97446addf..87e7b401b1 100644 --- a/icu/testdata/message2/icu-test-functions.json +++ b/icu/testdata/message2/icu-test-functions.json @@ -7,18 +7,18 @@ "tests": [ { "src": "Expires on {$exp}", - "exp": "Expires on 8/3/24, 9:43 PM", + "exp": "Expires on 8/3/24, 9:43 PM", "comment": "Modified from ICU4J copy to add params (likewise with the other date/time tests); 1722746637000 is 2024-08-03 21:43:57 PDT", "params": [{ "name": "exp", "value": { "date": 1722746637000 } }] }, { "src": "Expires on {$exp :datetime}", - "exp": "Expires on 8/3/24, 9:43 PM", + "exp": "Expires on 8/3/24, 9:43 PM", "params": [{ "name": "exp", "value": { "date": 1722746637000 } }] }, { "src": "Expires on {$exp :datetime icu:skeleton=yMMMMdjmsSSEE}", - "exp": "Expires on Sat, August 3, 2024 at 9:43:57.00 PM", + "exp": "Expires on Sat, August 3, 2024 at 9:43:57.00 PM", "params": [{ "name": "exp", "value": { "date": 1722746637000 } }], "ignoreCpp": "ICU-22754 Skeleton option not implemented yet" }, @@ -39,22 +39,22 @@ }, { "src": "Expires on {$exp :datetime timeStyle=long}", - "exp": "Expires on 9:43:57 PM PDT", + "exp": "Expires on 9:43:57 PM PDT", "params": [{ "name": "exp", "value": { "date": 1722746637000 } }] }, { "src": "Expires on {$exp :datetime timeStyle=medium}", - "exp": "Expires on 9:43:57 PM", + "exp": "Expires on 9:43:57 PM", "params": [{ "name": "exp", "value": { "date": 1722746637000 } }] }, { "src": "Expires on {$exp :datetime timeStyle=short}", - "exp": "Expires on 9:43 PM", + "exp": "Expires on 9:43 PM", "params": [{ "name": "exp", "value": { "date": 1722746637000 } }] }, { "src": "Expires on {$exp :datetime dateStyle=full timeStyle=medium}", - "exp": "Expires on Saturday, August 3, 2024 at 9:43:57 PM", + "exp": "Expires on Saturday, August 3, 2024 at 9:43:57 PM", "params": [{ "name": "exp", "value": { "date": 1722746637000 } }] }, { @@ -77,14 +77,14 @@ { "comment": "Make sure we ignore date / time fields if needed", "src": "Expires at {$exp :time year=numeric month=medium day=numeric weekday=long hour=numeric minute=numeric}", - "exp": "Expires at 9:43 PM", + "exp": "Expires at 9:43 PM", "params": [{ "name": "exp", "value": { "date": 1722746637000 } }], "ignoreCpp": "ICU-22754 ICU4C doesn't accept field options for `:date` or `:time` -- see spec" }, { "comment": "Make sure we ignore date / time fields if needed", "src": "Expires at {$exp :time style=long dateStyle=full timeStyle=medium}", - "exp": "Expires at 9:43:57 PM PDT", + "exp": "Expires at 9:43:57 PM PDT", "params": [{ "name": "exp", "value": { "date": 1722746637000 } }] }, { @@ -99,11 +99,11 @@ }, { "src": "Expires at {|2024-07-02T19:23:45| :datetime timeStyle=full}", - "exp": "Expires at 7:23:45 PM Pacific Daylight Time" + "exp": "Expires at 7:23:45 PM Pacific Daylight Time" }, { "src": "Expires at {|2024-07-02T19:23:45.123| :datetime timeStyle=full}", - "exp": "Expires at 7:23:45 PM Pacific Daylight Time" + "exp": "Expires at 7:23:45 PM Pacific Daylight Time" }, { "src": "Expires on {|2025-02-27T19:23:45| :datetime dateStyle=full}", @@ -111,12 +111,12 @@ }, { "src": "Expires at {|2024-07-02T19:23:45Z| :datetime timeStyle=long}", - "exp": "Expires at 7:23:45 PM GMT", + "exp": "Expires at 7:23:45 PM GMT", "ignoreCpp": "ICU-22754 Time zones not working yet (bug)" }, { "src": "Expires at {|2024-07-02T19:23:45+03:30| :datetime timeStyle=full}", - "exp": "Expires at 7:23:45 PM GMT+03:30", + "exp": "Expires at 7:23:45 PM GMT+03:30", "ignoreCpp": "ICU-22754 Time zones not working yet (bug)" }, { @@ -128,7 +128,7 @@ ".local $zooExp = {$exp :datetime dateStyle=short timeStyle=$tsOver}\n", "{{Hello John, you want '{$exp}', '{$longExp}', or '{$zooExp}' or even '{$exp :datetime dateStyle=full}'?}}" ], - "exp": "Hello John, you want '9:43 PM', 'August 3, 2024 at 9:43 PM', or '8/3/24, 9:43:57 PM Pacific Daylight Time' or even 'Saturday, August 3, 2024 at 9:43 PM'?", + "exp": "Hello John, you want '9:43 PM', 'August 3, 2024 at 9:43 PM', or '8/3/24, 9:43:57 PM Pacific Daylight Time' or even 'Saturday, August 3, 2024 at 9:43 PM'?", "params": [{"name": "exp", "value": { "date": 1722746637000 }}, {"name": "user", "value": "John"}, {"name": "tsOver", "value": "full" }], diff --git a/icu/testdata/message2/more-functions.json b/icu/testdata/message2/more-functions.json index 6d074f8b2d..90dc1274ba 100644 --- a/icu/testdata/message2/more-functions.json +++ b/icu/testdata/message2/more-functions.json @@ -47,17 +47,17 @@ }, { "src": "Testing date formatting: {$date :time style=long}.", - "exp": "Testing date formatting: 7:42:37\u202FPM PST.", + "exp": "Testing date formatting: 7:42:37 PM PST.", "params": [{ "name": "date", "value": { "date": 1669261357000 } }] }, { "src": "Testing date formatting: {$date :time style=medium}.", - "exp": "Testing date formatting: 7:42:37\u202FPM.", + "exp": "Testing date formatting: 7:42:37 PM.", "params": [{ "name": "date", "value": { "date": 1669261357000 } }] }, { "src": "Testing date formatting: {$date :time style=short}.", - "exp": "Testing date formatting: 7:42\u202FPM.", + "exp": "Testing date formatting: 7:42 PM.", "params": [{ "name": "date", "value": { "date": 1669261357000 } }] }, {