It is fine, thank you, Tim.
Tim Ellison (JIRA) wrote:
[ http://issues.apache.org/jira/browse/HARMONY-178?page=all ]
Tim Ellison resolved HARMONY-178:
---------------------------------
Resolution: Fixed
Paulex,
Thanks for the patches. I added a copyright statement to the test and updated
the test suite.
Applied to TEXT module java.text.DateFormat at repo revision 383878.
Please check that the patch was applied as you expected.
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
Assignee: Tim Ellison
Attachments: java.text.DateFormat.patch, java.text.DateFormatFieldTest.patch
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)>
............
--
Paulex Yang
China Software Development Lab
IBM