ICU-8968 Updated the tzdata to 2011n and fixed failing test cases.
X-SVN-Rev: 31020
diff --git a/src/com/ibm/icu/dev/test/serializable/SerializableTest.java b/src/com/ibm/icu/dev/test/serializable/SerializableTest.java
index de24d50..763648c 100644
--- a/src/com/ibm/icu/dev/test/serializable/SerializableTest.java
+++ b/src/com/ibm/icu/dev/test/serializable/SerializableTest.java
@@ -1,6 +1,6 @@
/*
*******************************************************************************
- * Copyright (C) 1996-2008, International Business Machines Corporation and *
+ * Copyright (C) 1996-2011, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*
@@ -8,6 +8,7 @@
package com.ibm.icu.dev.test.serializable;
+import java.util.Date;
import java.util.Locale;
import java.util.HashMap;
@@ -19,7 +20,9 @@
import com.ibm.icu.impl.TimeZoneAdapter;
import com.ibm.icu.math.BigDecimal;
import com.ibm.icu.math.MathContext;
+import com.ibm.icu.util.Calendar;
import com.ibm.icu.util.Currency;
+import com.ibm.icu.util.GregorianCalendar;
import com.ibm.icu.util.SimpleTimeZone;
import com.ibm.icu.util.TimeZone;
import com.ibm.icu.util.ULocale;
@@ -300,7 +303,22 @@
"Europe/Amsterdam", "Europe/Athens", "Europe/Berlin", "Europe/London", "Europe/Malta", "Europe/Moscow",
"Europe/Paris", "Europe/Rome"
};
-
+
+ long sampleTimes[] = {
+ 1136073600000L, // 20060101T000000Z
+ 1138752000000L, // 20060201T000000Z
+ 1141171200000L, // 20060301T000000Z
+ 1143849600000L, // 20060401T000000Z
+ 1146441600000L, // 20060501T000000Z
+ 1149120000000L, // 20060601T000000Z
+ 1151712000000L, // 20060701T000000Z
+ 1154390400000L, // 20060801T000000Z
+ 1157068800000L, // 20060901T000000Z
+ 1159660800000L, // 20061001T000000Z
+ 1162339200000L, // 20061101T000000Z
+ 1164931200000L, // 20061201T000000Z
+ };
+
public Object[] getTestObjects()
{
TimeZoneAdapter timeZones[] = new TimeZoneAdapter[zoneIDs.length];
@@ -315,14 +333,32 @@
public boolean hasSameBehavior(Object a, Object b)
{
+ GregorianCalendar cal = new GregorianCalendar();
TimeZoneAdapter tza_a = (TimeZoneAdapter) a;
TimeZoneAdapter tza_b = (TimeZoneAdapter) b;
-
- if (!tza_a.getID().equals(tza_b.getID())
- || tza_a.getRawOffset() != tza_b.getRawOffset()) {
- return false;
+
+ int a_offset, b_offset;
+ boolean a_dst, b_dst;
+ boolean bSame = true;
+ for (int i = 0; i < sampleTimes.length; i++) {
+ cal.setTimeInMillis(sampleTimes[i]);
+ int era = cal.get(Calendar.ERA);
+ int year = cal.get(Calendar.YEAR);
+ int month = cal.get(Calendar.MONTH);
+ int day = cal.get(Calendar.DAY_OF_MONTH);
+ int dow = cal.get(Calendar.DAY_OF_WEEK);
+ int mid = cal.get(Calendar.MILLISECONDS_IN_DAY);
+ a_offset = tza_a.getOffset(era, year, month, day, dow, mid);
+ b_offset = tza_b.getOffset(era, year, month, day, dow, mid);
+ Date d = new Date(sampleTimes[i]);
+ a_dst = tza_a.inDaylightTime(d);
+ b_dst = tza_b.inDaylightTime(d);
+ if (a_offset != b_offset || a_dst != b_dst) {
+ bSame = false;
+ break;
+ }
}
- return true;
+ return bSame;
}
}
diff --git a/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java b/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
index 21acffe..39f72bf 100755
--- a/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
+++ b/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
@@ -1,6 +1,6 @@
/**
*******************************************************************************
- * Copyright (C) 2000-2008, International Business Machines Corporation and *
+ * Copyright (C) 2000-2011, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@@ -102,7 +102,7 @@
public void TestShortZoneIDs() throws Exception {
ZoneDescriptor[] JDK_116_REFERENCE_LIST = {
- new ZoneDescriptor("MIT", -660, false),
+ new ZoneDescriptor("MIT", -660, true), // as of 2011n
new ZoneDescriptor("HST", -600, false),
new ZoneDescriptor("AST", -540, true),
new ZoneDescriptor("PST", -480, true),
@@ -113,7 +113,7 @@
new ZoneDescriptor("EST", -300, false),// updated Aug 2003 aliu
new ZoneDescriptor("PRT", -240, false),
new ZoneDescriptor("CNT", -210, true),
- new ZoneDescriptor("AGT", -180, true), // updated by tzdata 2007k
+ new ZoneDescriptor("AGT", -180, false), // as of 2011n
new ZoneDescriptor("BET", -180, true),
// new ZoneDescriptor("CAT", -60, false), // Wrong:
// As of bug 4130885, fix CAT (Central Africa)
@@ -121,7 +121,7 @@
new ZoneDescriptor("GMT", 0, false),
new ZoneDescriptor("UTC", 0, false),
new ZoneDescriptor("ECT", 60, true),
- new ZoneDescriptor("ART", 120, true),
+ new ZoneDescriptor("ART", 120, false), // as of 2011n
new ZoneDescriptor("EET", 120, true),
new ZoneDescriptor("EAT", 180, false),
// new ZoneDescriptor("MET", 210, true),
diff --git a/src/com/ibm/icu/impl/data/icudata.jar b/src/com/ibm/icu/impl/data/icudata.jar
index 3683ea8..bb2774a 100644
--- a/src/com/ibm/icu/impl/data/icudata.jar
+++ b/src/com/ibm/icu/impl/data/icudata.jar
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d7975fc0d1d21388ccf87efc5eb2979f65249e360a3876a22df77205060c8aa5
-size 2093385
+oid sha256:513c887c4cb2353823f4b3fc8f88b5c6af38f22dffd5e5d89a15855fd03d2580
+size 2097197