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

Reply via email to