ICU-11468 ICU4J eclipse-icu52 timezone updates to 2014j, including test case updates. Merged from ICU4J maint-52 (r36919).
X-SVN-Rev: 36920
diff --git a/main/shared/data/icutzdata.jar b/main/shared/data/icutzdata.jar
index 238aaab..e7209ed 100755
--- a/main/shared/data/icutzdata.jar
+++ b/main/shared/data/icutzdata.jar
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:151722009ac041fe3c5a01e90a79b61e961c78a7f1d564f7c869c16ca3ba9279
-size 91201
+oid sha256:877e420d85be49af832075ada326e48c41f2fa82f263aff94db588d93effb830
+size 88535
diff --git a/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java b/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java
index f7200c6..d92b101 100644
--- a/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java
+++ b/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java
@@ -854,8 +854,8 @@
{ "en", "Asia/Calcutta", "2004-07-15T00:00:00Z", "vvvv", "India Standard Time", "Asia/Calcutta" },
// Proper CLDR primary zone support #9733
- { "en", "Asia/Shanghai", "2013-01-01T00:00:00Z", "VVVV", "China Time", "Asia/Shanghai" },
- { "en", "Asia/Harbin", "2013-01-01T00:00:00Z", "VVVV", "Harbin Time", "Asia/Harbin" },
+ { "en", "America/Santiago", "2013-01-01T00:00:00Z", "VVVV", "Chile Time", "America/Santiago" },
+ { "en", "Pacific/Easter", "2013-01-01T00:00:00Z", "VVVV", "Easter Time", "Pacific/Easter" },
// ==========
@@ -1067,10 +1067,6 @@
{ "zh", "Asia/Calcutta", "2004-07-15T00:00:00Z", "v", "\u5370\u5ea6\u65f6\u95f4", "Asia/Calcutta" },
{ "zh", "Asia/Calcutta", "2004-07-15T00:00:00Z", "vvvv", "\u5370\u5EA6\u65f6\u95f4", "Asia/Calcutta" },
- // Proper CLDR primary zone support #9733
- { "zh", "Asia/Shanghai", "2013-01-01T00:00:00Z", "VVVV", "\u4e2d\u56fd\u65f6\u95f4", "Asia/Shanghai" },
- { "zh", "Asia/Harbin", "2013-01-01T00:00:00Z", "VVVV", "\u54c8\u5c14\u6ee8\u65f6\u95f4", "Asia/Harbin" },
-
// ==========
{ "hi", "America/Los_Angeles", "2004-01-15T00:00:00Z", "Z", "-0800", "-8:00" },
@@ -3701,7 +3697,7 @@
GregorianCalendar gcal = new GregorianCalendar(tz);
gcal.clear();
- gcal.set(1910, Calendar.JANUARY, 1, 12, 00); // offset 8:05:57
+ gcal.set(1900, Calendar.JANUARY, 1, 12, 00); // offset 8:05:43
d1 = gcal.getTime();
gcal.clear();
@@ -3711,7 +3707,7 @@
gcal.clear();
gcal.set(1970, Calendar.JANUARY, 1, 12, 00);
dexp2 = gcal.getTime();
- dexp1 = new Date(dexp2.getTime() - (5*60 + 57)*1000); // subtract 5m57s
+ dexp1 = new Date(dexp2.getTime() - (5*60 + 43)*1000); // subtract 5m43s
DateFormat fmt = DateFormat.getTimeInstance(DateFormat.FULL, new ULocale("zh"));
fmt.setTimeZone(tz);
diff --git a/main/tests/core/src/com/ibm/icu/dev/test/format/TimeZoneFormatTest.java b/main/tests/core/src/com/ibm/icu/dev/test/format/TimeZoneFormatTest.java
index cfbb81a..8515b5b 100644
--- a/main/tests/core/src/com/ibm/icu/dev/test/format/TimeZoneFormatTest.java
+++ b/main/tests/core/src/com/ibm/icu/dev/test/format/TimeZoneFormatTest.java
@@ -1,6 +1,6 @@
/*
********************************************************************************
- * Copyright (C) 2007-2014, Google, International Business Machines Corporation *
+ * Copyright (C) 2007-2015, Google, International Business Machines Corporation *
* and others. All Rights Reserved. *
********************************************************************************
*/
@@ -396,6 +396,11 @@
}
}
+ if (id.equals("Pacific/Apia") && PATTERNS[patidx].equals("vvvv")
+ && logKnownIssue("11052", "Ambiguous zone name - Samoa Time")) {
+ continue;
+ }
+
BasicTimeZone btz = (BasicTimeZone)TimeZone.getTimeZone(id, TimeZone.TIMEZONE_ICU);
TimeZone tz = TimeZone.getTimeZone(id);
sdf.setTimeZone(tz);
@@ -456,7 +461,8 @@
.append(", time=").append(testTimes[testidx])
.append(", restime=").append(restime)
.append(", diff=").append(timeDiff);
- if (expectedRoundTrip[testidx]) {
+ if (expectedRoundTrip[testidx]
+ && !isSpecialTimeRoundTripCase(LOCALES[locidx], id, PATTERNS[patidx], testTimes[testidx])) {
errln("FAIL: " + msg.toString());
} else if (REALLY_VERBOSE_LOG) {
logln(msg.toString());
@@ -495,6 +501,31 @@
logln("Iteration: " + testCounts);
}
+ // Special exclusions in TestTimeZoneRoundTrip.
+ // These special cases do not round trip time as designed.
+ private boolean isSpecialTimeRoundTripCase(ULocale loc, String id, String pattern, long time) {
+ final Object[][] EXCLUSIONS = {
+ {null, "Asia/Chita", "zzzz", Long.valueOf(1414252800000L)},
+ {null, "Asia/Chita", "vvvv", Long.valueOf(1414252800000L)},
+ {null, "Asia/Srednekolymsk", "zzzz", Long.valueOf(1414241999999L)},
+ {null, "Asia/Srednekolymsk", "vvvv", Long.valueOf(1414241999999L)},
+ };
+ boolean isExcluded = false;
+ for (Object[] excl : EXCLUSIONS) {
+ if (excl[0] == null || loc.equals((ULocale)excl[0])) {
+ if (id.equals(excl[1])) {
+ if (excl[2] == null || pattern.equals((String)excl[2])) {
+ if (excl[3] == null || ((Long)excl[3]).compareTo(time) == 0) {
+ isExcluded = true;
+ break;
+ }
+ }
+ }
+ }
+ }
+ return isExcluded;
+ }
+
public void TestParse() {
final Object[][] DATA = {
// text inpos locale style parseAll? expected outpos time type
diff --git a/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java b/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
index b572c05..2b2af44 100644
--- a/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
+++ b/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
@@ -1,6 +1,6 @@
/**
*******************************************************************************
- * Copyright (C) 2000-2014, International Business Machines Corporation and *
+ * Copyright (C) 2000-2015, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@@ -1475,18 +1475,50 @@
// Some canonical IDs in CLDR are defined as "Link"
// in Olson tzdata.
final String[][] excluded1 = {
+ {"Africa/Addis_Ababa", "Africa/Nairobi"},
+ {"Africa/Asmera", "Africa/Nairobi"},
+ {"Africa/Bamako", "Africa/Abidjan"},
+ {"Africa/Bangui", "Africa/Lagos"},
+ {"Africa/Banjul", "Africa/Abidjan"},
+ {"Africa/Blantyre", "Africa/Maputo"},
+ {"Africa/Brazzaville", "Africa/Lagos"},
+ {"Africa/Bujumbura", "Africa/Maputo"},
+ {"Africa/Conakry", "Africa/Abidjan"},
+ {"Africa/Dakar", "Africa/Abidjan"},
+ {"Africa/Dar_es_Salaam", "Africa/Nairobi"},
+ {"Africa/Djibouti", "Africa/Nairobi"},
+ {"Africa/Douala", "Africa/Lagos"},
+ {"Africa/Freetown", "Africa/Abidjan"},
+ {"Africa/Gaborone", "Africa/Maputo"},
+ {"Africa/Harare", "Africa/Maputo"},
+ {"Africa/Kampala", "Africa/Nairobi"},
{"Africa/Khartoum", "Africa/Juba"},
- {"America/Shiprock", "America/Denver"}, // America/Shiprock is defined as a Link to America/Denver in tzdata
- {"America/Kralendijk", "America/Curacao"},
- {"America/Lower_Princes", "America/Curacao"},
- {"America/Marigot", "America/Guadeloupe"},
- {"America/St_Barthelemy", "America/Guadeloupe"},
+ {"Africa/Kigali", "Africa/Maputo"},
+ {"Africa/Kinshasa", "Africa/Lagos"},
+ {"Africa/Libreville", "Africa/Lagos"},
+ {"Africa/Lome", "Africa/Abidjan"},
+ {"Africa/Luanda", "Africa/Lagos"},
+ {"Africa/Lubumbashi", "Africa/Maputo"},
+ {"Africa/Lusaka", "Africa/Maputo"},
+ {"Africa/Maseru", "Africa/Johannesburg"},
+ {"Africa/Malabo", "Africa/Lagos"},
+ {"Africa/Mbabane", "Africa/Johannesburg"},
+ {"Africa/Mogadishu", "Africa/Nairobi"},
+ {"Africa/Niamey", "Africa/Lagos"},
+ {"Africa/Nouakchott", "Africa/Abidjan"},
+ {"Africa/Ouagadougou", "Africa/Abidjan"},
+ {"Africa/Porto-Novo", "Africa/Lagos"},
+ {"Africa/Sao_Tome", "Africa/Abidjan"},
+ {"America/Curacao", "America/Aruba"},
{"America/Dominica", "America/Anguilla"},
{"America/Grenada", "America/Anguilla"},
{"America/Guadeloupe", "America/Anguilla"},
+ {"America/Kralendijk", "America/Aruba"},
+ {"America/Lower_Princes", "America/Aruba"},
{"America/Marigot", "America/Anguilla"},
{"America/Montserrat", "America/Anguilla"},
{"America/Port_of_Spain", "America/Anguilla"},
+ {"America/Shiprock", "America/Denver"}, // America/Shiprock is defined as a Link to America/Denver in tzdata
{"America/St_Barthelemy", "America/Anguilla"},
{"America/St_Kitts", "America/Anguilla"},
{"America/St_Lucia", "America/Anguilla"},
@@ -1494,26 +1526,29 @@
{"America/St_Vincent", "America/Anguilla"},
{"America/Tortola", "America/Anguilla"},
{"America/Virgin", "America/Anguilla"},
- {"America/Curacao", "America/Aruba"},
- {"America/Kralendijk", "America/Aruba"},
- {"America/Lower_Princes", "America/Aruba"},
{"Antarctica/South_Pole", "Antarctica/McMurdo"},
- {"Atlantic/Jan_Mayen", "Europe/Oslo"},
{"Arctic/Longyearbyen", "Europe/Oslo"},
+ {"Asia/Phnom_Penh", "Asia/Bangkok"},
+ {"Asia/Vientiane", "Asia/Bangkok"},
+ {"Atlantic/Jan_Mayen", "Europe/Oslo"},
+ {"Atlantic/St_Helena", "Africa/Abidjan"},
+ {"Europe/Bratislava", "Europe/Prague"},
{"Europe/Busingen", "Europe/Zurich"},
{"Europe/Guernsey", "Europe/London"},
{"Europe/Isle_of_Man", "Europe/London"},
{"Europe/Jersey", "Europe/London"},
{"Europe/Ljubljana", "Europe/Belgrade"},
+ {"Europe/Mariehamn", "Europe/Helsinki"},
{"Europe/Podgorica", "Europe/Belgrade"},
+ {"Europe/San_Marino", "Europe/Rome"},
{"Europe/Sarajevo", "Europe/Belgrade"},
{"Europe/Skopje", "Europe/Belgrade"},
- {"Europe/Zagreb", "Europe/Belgrade"},
- {"Europe/Bratislava", "Europe/Prague"},
- {"Europe/Mariehamn", "Europe/Helsinki"},
- {"Europe/San_Marino", "Europe/Rome"},
- {"Europe/Vatican", "Europe/Rome"},
{"Europe/Vaduz", "Europe/Zurich"},
+ {"Europe/Vatican", "Europe/Rome"},
+ {"Europe/Zagreb", "Europe/Belgrade"},
+ {"Indian/Antananarivo", "Africa/Nairobi"},
+ {"Indian/Comoro", "Africa/Nairobi"},
+ {"Indian/Mayotte", "Africa/Nairobi"},
{"Pacific/Auckland", "Antarctica/McMurdo"},
{"Pacific/Johnston", "Pacific/Honolulu"},
};