ICU - characters 0x0384 and 0xB7 are unmapped in ICU implementation of ISO8859-7
--------------------------------------------------------------------------------

         Key: HARMONY-139
         URL: http://issues.apache.org/jira/browse/HARMONY-139
     Project: Harmony
        Type: Bug
  Components: Classlib  
    Reporter: Vladimir Strigun
    Priority: Minor


Looks like characters 0x0384 and 0xB7 are unmapped in ICU implementation. 
Mapping table could be found here: 
http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT
Please use test below for reproducing:

import java.nio.*;
import java.nio.charset.*;
import com.ibm.icu4jni.charset.CharsetProviderICU;

import junit.framework.TestCase;

public class Harmony139 extends TestCase{

    public static void main(String args[]){
      junit.textui.TestRunner.run(Harmony139.class);
    }

    public void testEncode_JIRA139_1() throws Exception {
      CharsetProviderICU provider = new CharsetProviderICU(); 
      Charset iso8859_7 = provider.charsetForName("ISO-8859-7"); 
      // Uncomment code below to use RI charset 
      //Charset iso8859_7 = Charset.forName("ISO-8859-7");
      CharBuffer cb = CharBuffer.allocate(1);
      cb.put((char)0x0384); cb.flip();
      ByteBuffer bb = iso8859_7.newEncoder().replaceWith(new byte[] 
{0x3F}).onMalformedInput(CodingErrorAction.REPLACE).onUnmappableCharacter(CodingErrorAction.REPLACE).encode(cb);
      assertEquals((byte)0xB4, bb.get(0));
    }

    public void testEncode_JIRA139_2() throws Exception {
      CharsetProviderICU provider = new CharsetProviderICU(); 
      Charset iso8859_7 = provider.charsetForName("ISO-8859-7"); 
      // Uncomment code below to use RI charset 
      //Charset iso8859_7 = Charset.forName("ISO-8859-7");
      CharBuffer cb = CharBuffer.allocate(1);
      cb.put((char)0xB7); cb.flip();
      ByteBuffer bb = iso8859_7.newEncoder().replaceWith(new byte[] 
{0x3F}).onMalformedInput(CodingErrorAction.REPLACE).onUnmappableCharacter(CodingErrorAction.REPLACE).encode(cb);
      assertEquals((byte)0xB7, bb.get(0));
    }
}

Both tests passed with RI, and failed with Harmony.

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