Merge "DO NOT MERGE Update libcore tests for 2024b [S]" into android12-dev
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/text/SimpleDateFormatTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/text/SimpleDateFormatTest.java
index 2eb64fe..3becca4 100644
--- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/text/SimpleDateFormatTest.java
+++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/text/SimpleDateFormatTest.java
@@ -411,14 +411,14 @@
 
         SimpleDateFormat format = new SimpleDateFormat("", Locale.ENGLISH);
         format.setTimeZone(TimeZone.getTimeZone("EST"));
-        assertFormat(format, " z", cal, " GMT-05:00", DateFormat.TIMEZONE_FIELD);
+        assertFormat(format, " z", cal, " EST", DateFormat.TIMEZONE_FIELD);
         Calendar temp2 = new GregorianCalendar(1999, Calendar.JANUARY, 12);
-        assertFormat(format, " z", temp2, " GMT-05:00", DateFormat.TIMEZONE_FIELD);
-        assertFormat(format, " zz", cal, " GMT-05:00", DateFormat.TIMEZONE_FIELD);
-        assertFormat(format, " zzz", cal, " GMT-05:00", DateFormat.TIMEZONE_FIELD);
-        assertFormat(format, " zzzz", cal, " GMT-05:00", DateFormat.TIMEZONE_FIELD);
-        assertFormat(format, " zzzz", temp2, " GMT-05:00", DateFormat.TIMEZONE_FIELD);
-        assertFormat(format, " zzzzz", cal, " GMT-05:00", DateFormat.TIMEZONE_FIELD);
+        assertFormat(format, " z", temp2, " EST", DateFormat.TIMEZONE_FIELD);
+        assertFormat(format, " zz", cal, " EST", DateFormat.TIMEZONE_FIELD);
+        assertFormat(format, " zzz", cal, " EST", DateFormat.TIMEZONE_FIELD);
+        assertFormat(format, " zzzz", cal, " Eastern Standard Time", DateFormat.TIMEZONE_FIELD);
+        assertFormat(format, " zzzz", temp2, " Eastern Standard Time", DateFormat.TIMEZONE_FIELD);
+        assertFormat(format, " zzzzz", cal, " Eastern Standard Time", DateFormat.TIMEZONE_FIELD);
 
         format.setTimeZone(TimeZone.getTimeZone("America/New_York"));
         assertFormat(format, " z", cal, " EDT", DateFormat.TIMEZONE_FIELD);
@@ -483,8 +483,8 @@
                 "Pacific/Kiritimati", "GMT+14:00, Line Islands Time", "+1400, GMT+14:00",
                 winterDate);
 
-        verifyFormatTimezone("EST", "GMT-05:00, GMT-05:00", "-0500, GMT-05:00", summerDate);
-        verifyFormatTimezone("EST", "GMT-05:00, GMT-05:00", "-0500, GMT-05:00", winterDate);
+        verifyFormatTimezone("EST", "EST, Eastern Standard Time", "-0500, GMT-05:00", summerDate);
+        verifyFormatTimezone("EST", "EST, Eastern Standard Time", "-0500, GMT-05:00", winterDate);
 
         verifyFormatTimezone("GMT+14", "GMT+14:00, GMT+14:00", "+1400, GMT+14:00", summerDate);
         verifyFormatTimezone("GMT+14", "GMT+14:00, GMT+14:00", "+1400, GMT+14:00", winterDate);
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/text/Support_SimpleDateFormat.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/text/Support_SimpleDateFormat.java
index d050e83..ab80117 100644
--- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/text/Support_SimpleDateFormat.java
+++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/text/Support_SimpleDateFormat.java
@@ -65,7 +65,7 @@
     textBuffer.append("AD AD 1999 99 1999 9 09 Sep September 13 13 013 ");
     textBuffer.append("17 17 017 17 17 017 5 05 005 19 019 1 01 001 0 00 000 Mon Monday ");
     textBuffer.append("256 256 256 2 02 38 038 3 003 ");
-    textBuffer.append("PM  PM  5 005 GMT-05:00 GMT-05:00 -0500 GMT-05:00");
+    textBuffer.append("PM  PM  5 005 EST Eastern Standard Time -0500 GMT-05:00");
 
     // to avoid passing the huge StringBuffer each time.
     super.text = textBuffer.toString();
@@ -89,7 +89,7 @@
     t_FormatWithField(14, format, date, null, Field.WEEK_OF_MONTH, 137, 138);
     t_FormatWithField(15, format, date, null, Field.AM_PM, 143, 145);
     t_FormatWithField(16, format, date, null, Field.HOUR0, 151, 152);
-    t_FormatWithField(17, format, date, null, Field.TIME_ZONE, 157, 166);
+    t_FormatWithField(17, format, date, null, Field.TIME_ZONE, 157, 160);
 
     // test fields that are not included in the formatted text
     t_FormatWithField(18, format, date, null, NumberFormat.Field.EXPONENT_SIGN, 0, 0);
@@ -97,10 +97,10 @@
     // test with simple example
     format.applyPattern("h:m z");
 
-    super.text = "5:19 GMT-05:00";
+    super.text = "5:19 EST";
     t_FormatWithField(21, format, date, null, Field.HOUR1, 0, 1);
     t_FormatWithField(22, format, date, null, Field.MINUTE, 2, 4);
-    t_FormatWithField(23, format, date, null, Field.TIME_ZONE, 5, 14);
+    t_FormatWithField(23, format, date, null, Field.TIME_ZONE, 5, 8);
 
     // test fields that are not included in the formatted text
     t_FormatWithField(24, format, date, null, Field.ERA, 0, 0);
@@ -123,7 +123,7 @@
 
     // test with simple example with pattern char Z
     format.applyPattern("h:m Z z");
-    super.text = "5:19 -0500 GMT-05:00";
+    super.text = "5:19 -0500 EST";
     t_FormatWithField(40, format, date, null, Field.HOUR1, 0, 1);
     t_FormatWithField(41, format, date, null, Field.MINUTE, 2, 4);
     t_FormatWithField(42, format, date, null, Field.TIME_ZONE, 5, 10);
@@ -184,7 +184,7 @@
     Vector<FieldContainer> v = new Vector<FieldContainer>();
     v.add(new FieldContainer(0, 1, Field.HOUR1));
     v.add(new FieldContainer(2, 4, Field.MINUTE));
-    v.add(new FieldContainer(5, 14, Field.TIME_ZONE));
+    v.add(new FieldContainer(5, 8, Field.TIME_ZONE));
     return v;
   }
 
@@ -249,10 +249,10 @@
     v.add(new FieldContainer(147, 149, Field.AM_PM));
     v.add(new FieldContainer(151, 152, Field.HOUR0));
     v.add(new FieldContainer(153, 156, Field.HOUR0));
-    v.add(new FieldContainer(157, 166, Field.TIME_ZONE));
-    v.add(new FieldContainer(167, 176, Field.TIME_ZONE));
-    v.add(new FieldContainer(177, 182, Field.TIME_ZONE));
-    v.add(new FieldContainer(183, 192, Field.TIME_ZONE));
+    v.add(new FieldContainer(157, 160, Field.TIME_ZONE));
+    v.add(new FieldContainer(161, 182, Field.TIME_ZONE));
+    v.add(new FieldContainer(183, 188, Field.TIME_ZONE));
+    v.add(new FieldContainer(189, 198, Field.TIME_ZONE));
     return v;
   }
 }
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/DateTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/DateTest.java
index f3ad743..0cb92c6 100644
--- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/DateTest.java
+++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/util/DateTest.java
@@ -318,11 +318,11 @@
         cal.clear();
         cal.set(1969, Calendar.JANUARY, 12, 1, 0);
         assertTrue("Wrong parsed date 3", d.equals(cal.getTime()));
-        d = new Date(Date.parse("6:45:13 3/2/1200 MST"));
+        d = new Date(Date.parse("6:45:13 3/2/1900 MST"));
         cal.setTimeZone(TimeZone.getTimeZone("MST"));
         cal.clear();
-        cal.set(1200, 2, 2, 6, 45, 13);
-        assertTrue("Wrong parsed date 4", d.equals(cal.getTime()));
+        cal.set(1900, 2, 2, 6, 45, 13);
+        assertEquals("Wrong parsed date 4", d, cal.getTime());
         d = new Date(Date.parse("Mon, 22 Nov 1999 12:52:06 GMT"));
         cal.setTimeZone(TimeZone.getTimeZone("GMT"));
         cal.clear();
diff --git a/luni/src/test/java/libcore/java/util/TimeZoneTest.java b/luni/src/test/java/libcore/java/util/TimeZoneTest.java
index 28a1363..58ae360 100644
--- a/luni/src/test/java/libcore/java/util/TimeZoneTest.java
+++ b/luni/src/test/java/libcore/java/util/TimeZoneTest.java
@@ -63,7 +63,7 @@
         // explicit transition at Integer.MIN_VALUE with zic 2019a and 2019a data.
         TimeZone tz = TimeZone.getTimeZone("CET");
 
-        long firstTransitionTimeMillis = -1693706400000L; // Apr 30, 1916 22:00:00 GMT
+        long firstTransitionTimeMillis = -1693702800000L; // Apr 30, 1916 23:00:00 GMT
         assertEquals(7200000L, tz.getOffset(firstTransitionTimeMillis));
         assertTrue(tz.inDaylightTime(new Date(firstTransitionTimeMillis)));