Harmony
  1. Harmony
  2. HARMONY-1110

[classlib][text] ChoiceFormat(String) pattern parser differs from RI

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Classlib
    • Labels:
      None

      Description

      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

        Activity

        Denis Kishenko created issue -
        Jim Yu made changes -
        Field Original Value New Value
        Attachment HARMONY-1110.diff [ 12380662 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Denis Kishenko
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development