You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2006/08/17 20:31:37 UTC

svn commit: r432324 - in /incubator/harmony/enhanced/classlib/trunk/modules/luni/src: main/java/java/util/GregorianCalendar.java test/java/tests/api/java/util/CalendarTest.java

Author: tellison
Date: Thu Aug 17 11:31:36 2006
New Revision: 432324

URL: http://svn.apache.org/viewvc?rev=432324&view=rev
Log:
Apply patch HARMONY-923 (Incorrect dates in java.util.Calendar() when year is very large)

Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/GregorianCalendar.java
    incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/CalendarTest.java

Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/GregorianCalendar.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/GregorianCalendar.java?rev=432324&r1=432323&r2=432324&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/GregorianCalendar.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/GregorianCalendar.java Thu Aug 17 11:31:36 2006
@@ -755,7 +755,9 @@
 		return (int) days + 1;
 	}
 
-	private long daysFromBaseYear(int year) {
+	private long daysFromBaseYear(int iyear) {
+                long year = iyear;
+
 		if (year >= 1970) {
 			long days = (year - 1970) * (long) 365 + ((year - 1969) / 4);
 			if (year > changeYear) {

Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/CalendarTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/CalendarTest.java?rev=432324&r1=432323&r2=432324&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/CalendarTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/CalendarTest.java Thu Aug 17 11:31:36 2006
@@ -432,6 +432,25 @@
                 .getTimeZone());
     }
 
+    /**
+     * @tests java.util.Calendar#getTimeInMillis()
+     */
+    public void test_getTimeInMillis() {
+        Calendar cal = Calendar.getInstance();
+
+        int year = Integer.MIN_VALUE + 71;
+        cal.setTimeZone(TimeZone.getTimeZone("GMT"));;
+        cal.set(Calendar.YEAR, year + 1900);
+        cal.set(Calendar.MONTH, Calendar.JANUARY);
+        cal.set(Calendar.DATE, 1);
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.SECOND, 0);
+        cal.set(Calendar.MILLISECOND, 0);
+
+        assertEquals(cal.getTimeInMillis(), 6017546357372606464L);
+    }
+
 	protected void setUp() {
 		defaultLocale = Locale.getDefault();
 		Locale.setDefault(Locale.US);