[ https://issues.apache.org/jira/browse/HARMONY-2467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12485200
]
Mikhail Markov commented on HARMONY-2467:
-----------------------------------------
Alexei, you were correct: RI returns incorrect number of chars per each byte of input. Here
is the link to SUN bugtraq complaining to this: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6230719
(and it seems that Harmony returns not the same values as RI does for different charsets -
possible topic for the new JIRA).
> [classlib][nio charset] java.nio.charset.CharsetDecoder(cs, Float.MIN_VALUE,Float.MIN_VALUE)
does not throw IllegalArgumentException
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-2467
> URL: https://issues.apache.org/jira/browse/HARMONY-2467
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Anton Ivanov
> Assigned To: Alexei Zakharov
> Priority: Minor
> Attachments: H-2467.patch
>
>
> According to the specification constructor must throw IllegalArgumentException if the
preconditions on the parameters do not hold.
> java.nio.charset.CharsetDecoder(cs, Float.MIN_VALUE,Float.MIN_VALUE) does not throw IllegalArgumentException
while RI does with message:
> java.lang.IllegalArgumentException: Replacement too long
> Test to reproduce the problem:
> import junit.framework.TestCase;
> import java.nio.charset.*;
> import java.nio.*;
> public class test10036 extends TestCase {
> public void test1 () {
> try {
> CharsetDecoderImpl obj = new CharsetDecoderImpl(Charset.forName("UTF-8"),
> Float.MIN_VALUE , Float.MIN_VALUE );
> fail("IllegalArgumentException should be thrown");
> } catch (IllegalArgumentException e) {
> //expected
> }
> }
> }
> class CharsetDecoderImpl extends CharsetDecoder{
> public CharsetDecoderImpl(Charset cs, float averageBytesPerChar,
> float maxBytesPerChar){
> super(cs, averageBytesPerChar, maxBytesPerChar);
> }
> public CoderResult decodeLoop(ByteBuffer out, CharBuffer in) {
> return CoderResult.UNDERFLOW;
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|