Tim Ellison wrote:
Again, sorry for the late response...
Oliver Deakin wrote:
Further on upgrading to ICU4J 3.8, when I run the text tests I see
failures in BidiTest - namely: testCreateLineBidi;
testCreateLineBidiInvalid; testGetRunLimit. For the Bidi scenarios in
these tests ICU throws IllegalArgumentExceptions due to invalid
parameters being passed through, whereas the RI ignores the fact that
these parameters are illegal (one of the differences has been discussed
previously in [1]). More precisely, the tests [2] and [3] throw
exceptions on ICU 3.8 but complete successfully on the RI.
I have been in conversation with the Bidi developer and it seems that
ICU is keeping in line with the spec while the RI is allowing illegal
cases. The developer I have been talking to has asked if I feel these
differences should be fixed in ICU, so I thought I would throw this
question out to the Harmony community as it will be something that
affects the behaviour of our Bidi class if we move to ICU4j 3.8. IMHO it
is not a problem to follow the spec and differ from the RI, as ICU
currently does, in these invalid cases. Does anyone object to this?
I think we follow usual procedure here, which is to follow the spec if
the spec is being more reasonable than the RI, update our tests, and
list them as non-bug differences in JIRA.
Exactly what I was thinking - these cases all follow the spec correctly,
while the RI does not. I was planning to raise them as non-bug
differences when I carried out the changes to move to icu 3.8
If we find key applications that rely upon the silent-ignore behavior
then we might change our mind and depart from the spec, considering it a
de facto update.
Agreed - it seems that the ICU developers would be happy to help us out
here by making the changes at their end if we had a good enough reason to.
Regards,
Oliver
Regards,
Tim
--
Oliver Deakin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU