java.text.DateFormat$Field's contructor may replace predefined consts with new value in cache ---------------------------------------------------------------------------------------------
Key: HARMONY-178 URL: http://issues.apache.org/jira/browse/HARMONY-178 Project: Harmony Type: Bug Reporter: Paulex Yang DataFormat$Field will cache some constants to be searched by method ofCalendarField(int), but the predefined consts should not be replaced. the testcases is as below: import java.text.DateFormat; import java.util.Calendar; import junit.framework.TestCase; public class DataFormatFieldTest extends TestCase{ public void test_Constructor2() { MyField field = new MyField("day of month", Calendar.ERA); DateFormat.Field realField = DateFormat.Field .ofCalendarField(Calendar.ERA); assertSame("Modified calendar field with the same field number", DateFormat.Field.ERA, realField); } static class MyField extends DateFormat.Field { protected MyField(String fieldName, int calendarField) { super(fieldName, calendarField); } protected String getName() { return super.getName(); } } } Run on RI 5.0, test case passes. Run on Harmony, test case fail with message: junit.framework.AssertionFailedError: Modified calendar field with the same field number expected same:<java.text.DateFormat$Field(era)> was not:<DataFormatFieldTest$MyField(day of month)> ............ -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira