harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Svetlana Samoilenko (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-68) java.nio.charset.Charset.isSupported(String charsetName) does not throw IllegalCharsetNameException for spoiled standard sharset name
Date Tue, 04 Jul 2006 04:01:30 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-68?page=comments#action_12419044 ] 

Svetlana Samoilenko commented on HARMONY-68:
--------------------------------------------

Nathan,

This bug is very close with Harmony issue 311. 
The behaviour shared by Harmony and the RI does not comply with the specification.
Would it be better to close this bug in corresponding way and to file a bug against Sun?



> java.nio.charset.Charset.isSupported(String charsetName) does not throw IllegalCharsetNameException
for spoiled standard sharset name
> -------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-68
>          URL: http://issues.apache.org/jira/browse/HARMONY-68
>      Project: Harmony
>         Type: Bug

>   Components: Classlib
>     Reporter: Svetlana Samoilenko
>  Attachments: CharsetTest.java, charset_patch.txt
>
> According to j2se 1.4.2 specification for Charset.isSupported(String charsetName)  the
method must throw IllegalCharsetNameException  "if the given charset name is illegal ". 
> "Legal charset name must begin with either a letter or a digit. 
> The test listed below shows that there is no the exception  if to insert "-" or "_" symbols
before standard sharset name, for example "-UTF-8" or "_US-ASCII".
> Moreover the method returns "true" in this case.
> BEA also does not throw the exception but returns "false".
> Code to reproduce: 
> import java.nio.charset.*; 
>  
> public class test2 { 
>     public static void main (String[] args) {
>         // string starts neither a letter nor a digit 
>         boolean sup=false; 
>         try{
>              sup=Charset.isSupported("-UTF-8");
>              System.out.println("***BAD. should be exception; sup="+sup); 
>              sup=Charset.isSupported("_US-ASCII");
>              System.out.println("***BAD. should be exception; sup="+sup); 
>         } catch (IllegalCharsetNameException e) {  
>             System.out.println("***OK. Expected IllegalCharsetNameException " + e); 
>         }       
>     } 
> } 
> Steps to Reproduce: 
> 1. Build Harmony (check-out on 2006-01-30) j2se subset as described in README.txt. 
> 2. Compile test2.java using BEA 1.4 javac 
> > javac -d . test2.java 
> 3. Run java using compatible VM (J9) 
> > java -showversion test2 
> Output: 
> C:\tmp>C:\jrockit-j2sdk1.4.2_04\bin\java.exe -showversion test2 
> java version "1.4.2_04" 
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05) 
> BEA WebLogic JRockit(TM) 1.4.2_04 JVM (build ari-31788-20040616-1132-win-ia32, Native
Threads, GC strategy: parallel) 
> ***BAD. should be exception; sup=false
> ***BAD. should be exception; sup=false
> C:\tmp>C:\harmony\trunk\deploy\jre\bin\java -showversion test2 
> (c) Copyright 1991, 2005 The Apache Software Foundation or its licensors, as applicable.

> ***BAD. should be exception; sup=true
> ***BAD. should be exception; sup=true
> Suggested junit test case:
> ------------------------ CharserTest.java -------------------------------------------------

> import java.nio.charset.*; 
> import junit.framework.*; 
> public class CharsetTest extends TestCase { 
>     public static void main(String[] args) { 
>         junit.textui.TestRunner.run(CharsetTest.class); 
>     } 
>     public void test_isSupported() { 
>       boolean sup=false; 
>         // string starts neither a letter nor a digit 
>         try{
>             sup=Charset.isSupported("-UTF-8");
>             fail("***BAD. should be exception IllegalCharsetNameException"); 
>         } catch (IllegalCharsetNameException e) {  //expected
>         }
>         // string starts neither a letter nor a digit 
>         try{
>              sup=Charset.isSupported("_US-ASCII");
>              fail("***BAD. should be exception IllegalCharsetNameException");  
>         } catch (IllegalCharsetNameException e) {  //expected
>         }
>    } 
> }

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


Mime
View raw message