You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexei Zakharov (JIRA)" <ji...@apache.org> on 2007/03/07 12:58:24 UTC

[jira] Commented: (HARMONY-2467) [classlib][nio charset] java.nio.charset.CharsetDecoder(cs, Float.MIN_VALUE,Float.MIN_VALUE) does not throw IllegalArgumentException

    [ https://issues.apache.org/jira/browse/HARMONY-2467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12478752 ] 

Alexei Zakharov commented on HARMONY-2467:
------------------------------------------

Mikhail, probably I don't know enough about java.nio.charset functionality. The page you refer has title "A Standard Compression Scheme for Unicode". But I thought we were talking about Unicode <-> some native charset transformation rather than a compression scheme for Unicode characters. Am I wrong?

> [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.