You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by qi...@apache.org on 2009/01/12 03:13:11 UTC
svn commit: r733581 - in /harmony/enhanced/classlib/trunk/modules/luni/src:
main/java/java/util/Date.java
test/api/common/org/apache/harmony/luni/tests/java/util/DateTest.java
Author: qiuxx
Date: Sun Jan 11 18:13:11 2009
New Revision: 733581
URL: http://svn.apache.org/viewvc?rev=733581&view=rev
Log:
Contructor of java.util.Date should not invoke a public API to initialize, since it may be overrided by subclass which leads to access uninitialized members. Replace the API invoking with private one.
Modified:
harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Date.java
harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/DateTest.java
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Date.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Date.java?rev=733581&r1=733580&r2=733581&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Date.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Date.java Sun Jan 11 18:13:11 2009
@@ -138,7 +138,7 @@
* the number of milliseconds since Jan. 1, 1970 GMT
*/
public Date(long milliseconds) {
- this.setTime(milliseconds);
+ this.milliseconds = milliseconds;
}
/**
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/DateTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/DateTest.java?rev=733581&r1=733580&r2=733581&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/DateTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/util/DateTest.java Sun Jan 11 18:13:11 2009
@@ -23,7 +23,23 @@
import java.util.TimeZone;
public class DateTest extends junit.framework.TestCase {
-
+
+ static class MockDate extends Date{
+ private String holiday;
+
+ public MockDate(long theTime) {
+ super(theTime);
+ holiday = "Christmas";
+ }
+
+ // Constructor should not call this public API,
+ // since it may be overrided to use variables uninitialized.
+ public void setTime(long theTime){
+ super.setTime(theTime);
+ holiday.hashCode();
+ }
+ }
+
/**
* @tests java.util.Date#Date()
*/
@@ -91,7 +107,8 @@
*/
public void test_ConstructorJ() {
// Test for method java.util.Date(long)
- assertTrue("Used to test", true);
+ Date date = new MockDate(1000L);
+ assertNotNull(date);
}
/**