Skip to content

Commit 8e76438

Browse files
committed
ICU-23183 Merging fix done for CLDR-18985 and more logKnownIssues for…
See #3650
1 parent 2b13d37 commit 8e76438

File tree

4 files changed

+33
-16
lines changed

4 files changed

+33
-16
lines changed

icu4c/source/data/misc/metaZones.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,11 +1153,11 @@ metaZones:table(nofallback){
11531153
{
11541154
"Liberia",
11551155
"1970-01-01 00:00",
1156-
"1972-01-07 00:30",
1156+
"1972-01-07 00:45",
11571157
}
11581158
{
11591159
"GMT",
1160-
"1972-01-07 00:30",
1160+
"1972-01-07 00:45",
11611161
"9999-12-31 23:59",
11621162
}
11631163
}

icu4c/source/test/intltest/tzfmttst.cpp

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,14 @@ TimeZoneFormatTest::TestTimeZoneRoundTrip() {
171171

172172
// Run the roundtrip test
173173
for (int32_t locidx = 0; locidx < nLocales; locidx++) {
174-
if ((uprv_strcmp(LOCALES[locidx].getBaseName(),"ku") == 0) ||
175-
(uprv_strncmp(LOCALES[locidx].getBaseName(),"ku_",3) == 0) ||
176-
(uprv_strncmp(LOCALES[locidx].getBaseName(),"shn",3) == 0) ||
177-
(uprv_strcmp(LOCALES[locidx].getBaseName(),"sv") == 0) ||
178-
(uprv_strncmp(LOCALES[locidx].getBaseName(),"sv_",3) == 0)) {
179-
logKnownIssue("CLDR-18924", "Timezone round trip issues in ku, shn, sv for various zones");
174+
if (logKnownIssue("CLDR-18924", "Timezone round trip issues in ku, shn, sv for various zones") &&
175+
(
176+
(uprv_strcmp(LOCALES[locidx].getBaseName(),"ku") == 0) ||
177+
(uprv_strncmp(LOCALES[locidx].getBaseName(),"ku_",3) == 0) ||
178+
(uprv_strncmp(LOCALES[locidx].getBaseName(),"shn",3) == 0) ||
179+
(uprv_strcmp(LOCALES[locidx].getBaseName(),"sv") == 0) ||
180+
(uprv_strncmp(LOCALES[locidx].getBaseName(),"sv_",3) == 0)
181+
)) {
180182
continue;
181183
}
182184
UnicodeString localGMTString;
@@ -578,7 +580,6 @@ void TimeZoneFormatTest::RunTimeRoundTripTests(int32_t threadNumber) {
578580
int32_t patidx = -1;
579581

580582
while (gLocaleData->nextTest(locidx, patidx)) {
581-
582583
UnicodeString pattern(BASEPATTERN);
583584
pattern.append(" ").append(PATTERNS[patidx]);
584585
logln(" Thread %d, Locale %s, Pattern %s",
@@ -600,6 +601,12 @@ void TimeZoneFormatTest::RunTimeRoundTripTests(int32_t threadNumber) {
600601
timer = Calendar::getNow();
601602

602603
while ((tzid = tzids->snext(status))) {
604+
if (logKnownIssue("CLDR-18924", "Time round trip issues for Pacific/Apia in various locales and Pacific/Honolulu in Swedish" ) &&
605+
(tzid->compare(u"Pacific/Apia", -1) == 0
606+
|| (tzid->compare(u"Pacific/Honolulu", -1) == 0 && uprv_strncmp(gLocaleData->locales[locidx].getBaseName(),"sv_",3) == 0))) {
607+
continue;
608+
}
609+
603610
if (uprv_strcmp(PATTERNS[patidx], "V") == 0) {
604611
// Some zones do not have short ID assigned, such as Asia/Riyadh87.
605612
// The time roundtrip will fail for such zones with pattern "V" (short zone ID).

icu4j/main/common_tests/src/test/java/com/ibm/icu/dev/test/format/TimeZoneFormatTest.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,14 @@ public void TestTimeZoneRoundTrip() {
144144

145145
// Run the roundtrip test
146146
for (int locidx = 0; locidx < LOCALES.length; locidx++) {
147-
if (LOCALES[locidx].getBaseName().equals("ku") ||
148-
LOCALES[locidx].getBaseName().startsWith("ku_") ||
149-
LOCALES[locidx].getBaseName().startsWith("shn") ||
150-
LOCALES[locidx].getBaseName().equals("sv") ||
151-
LOCALES[locidx].getBaseName().startsWith("sv_")) {
152-
logKnownIssue("CLDR-18924", "Timezone round trip issues in ku, shn, sv for various zones");
147+
if (logKnownIssue("CLDR-18924", "Timezone round trip issues in ku, shn, sv for various zones") &&
148+
(
149+
LOCALES[locidx].getBaseName().equals("ku") ||
150+
LOCALES[locidx].getBaseName().startsWith("ku_") ||
151+
LOCALES[locidx].getBaseName().startsWith("shn") ||
152+
LOCALES[locidx].getBaseName().equals("sv") ||
153+
LOCALES[locidx].getBaseName().startsWith("sv_")
154+
)) {
153155
continue;
154156
}
155157
logln("Locale: " + LOCALES[locidx].toString());
@@ -410,7 +412,15 @@ public void TestTimeRoundTrip() {
410412
}
411413

412414
for (String id : ids) {
413-
if (PATTERNS[patidx].equals("V")) {
415+
if (logKnownIssue("CLDR-18924", "Time round trip issues for Pacific/Apia in various locales and Pacific/Honolulu in Swedish") &&
416+
(
417+
id.equals("Pacific/Apia") ||
418+
(id.equals("Pacific/Honolulu") && LOCALES[locidx].getLanguage().equals("sv"))
419+
)) {
420+
continue;
421+
}
422+
423+
if (PATTERNS[patidx].equals("V")) {
414424
// Some zones do not have short ID assigned, such as Asia/Riyadh87.
415425
// The time roundtrip will fail for such zones with pattern "V" (short zone ID).
416426
// This is expected behavior.
112 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)