harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "spark shen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-1110) [classlib][text] ChoiceFormat(String) pattern parser differs from RI
Date Tue, 19 Sep 2006 07:08:23 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-1110?page=comments#action_12435708 ] 
            
spark shen commented on HARMONY-1110:
-------------------------------------

Hi Denis Kishenko

But I totally agree with harmony on 3 cases. 
On the first, '2|' indicates that there are 2 choices, but the second one is missing. So throwing
an IllegalArgumentException is OK.
On the second and third('2#ok #ab'  & '2#ok <ab') there is only one choice. When the
formatted thing >= 2, then ok#ab or ok <ab should be used IMHO.

Best regards

> [classlib][text] ChoiceFormat(String) pattern parser differs from RI
> --------------------------------------------------------------------
>
>                 Key: HARMONY-1110
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1110
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Denis Kishenko
>
> Harmony and RI have different pattern parsers implementations of ChoiceFormat class.
Spec hasn't any rules for pattern except a single example
> "-1#is negative| 0#is zero or fraction | 1#is one |1.0<is 1+ |2#is two |2<is more
than 2."
> So we have some differences in pattern processing
> Test ---------------------------------------------------------------------------------------
> import java.text.*;
> public class bug9411 {
>     public static void main(String[] args) {
>         try {
>             System.out.println(new ChoiceFormat("2|").toPattern());
>       } catch (Exception e) {
>              e.printStackTrace();
>       }
>       try {
>           System.out.println(new ChoiceFormat("2#ok #ab").toPattern());
>       } catch (Exception e) {
>            e.printStackTrace();
>       }
>       try {
>         System.out.println(new ChoiceFormat("2#ok <ab").toPattern());
>       } catch (Exception e) {
>          e.printStackTrace();
>       }
>     }
> }
> Output ---------------------------------------------------------------------
> RI
> 0.0#
> java.lang.IllegalArgumentException
>                      	at java.text.ChoiceFormat.applyPattern(ChoiceFormat.java:197)
>                      	at java.text.ChoiceFormat.<init>(ChoiceFormat.java:294)
>                      	at bug9411.main(bug9411.java:12)
> java.lang.IllegalArgumentException
>                      	at java.text.ChoiceFormat.applyPattern(ChoiceFormat.java:197)
>                      	at java.text.ChoiceFormat.<init>(ChoiceFormat.java:294)
>                      	at bug9411.main(bug9411.java:17)
> Harmony
> java.lang.IllegalArgumentException
>                      	at java.text.ChoiceFormat.applyPattern(ChoiceFormat.java:127)
>                      	at java.text.ChoiceFormat.<init>(ChoiceFormat.java:66)
>                      	at bug9411.main(bug9411.java:7)
> 2.0#ok #ab
> 2.0#ok <ab

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