Harmony
  1. Harmony
  2. HARMONY-1351

[classlib][text] compatibility: NumberFormat.getCurrency() returns string on RI and null on Harmony for incorrect locale

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Classlib
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      The method NumberFormat.getCurrency() for incorrect locale returns string "XXX" on RI and null on Harmony.
      The spec says: "returns: the currency used by this number format, or null" so it may be 'non-bug dif..'.

      ============== test.java =====================
      import java.text.*;
      import java.util.Locale;

      public class test {
      public static void main(String[] args)

      { Locale l = new Locale("QWERTY"); System.out.println("res = " + NumberFormat.getPercentInstance(l).getCurrency()); l = new Locale("X", "Y"); System.out.println("res = " + NumberFormat.getPercentInstance(l).getCurrency()); }

      }
      ==========================================

      output:
      C:\tmp\tmp17>C:\jdk1.5.0_06\bin\java.exe -cp . -showversion test
      java version "1.5.0_06"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
      Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)

      res = XXX
      res = XXX

      C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
      java version "1.5.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
      BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))

      res = XXX
      res = XXX

      C:\tmp\tmp17>C:\harmony\classlib1.5\deploy\jdk\jre\bin\java.exe -cp . -showversion test
      java version 1.5 (subset)

      (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
      res = null
      res = null

      C:\tmp\tmp17>C:\harmony\drlvm1.5\build\win_ia32_msvc_debug\deploy\jre\bin\java -Dvm.assert_dialog=false -cp . -showversion test
      java version "1.5.0"
      pre-alpha : not complete or compatible
      svn = r438744, (Aug 31 2006), Windows/ia32/msvc 1310, debug build
      http://incubator.apache.org/harmony
      res = null
      res = null

      1. DecimalFormat.patch
        0.7 kB
        Andrey Pavlenko
      2. DecimalFormatTest.patch
        0.8 kB
        Andrey Pavlenko

        Activity

        Hide
        Andrey Pavlenko added a comment -

        On the RI if no valid currency could be determined the method getCurrency() returns an instance of Currency object representing XXX (999) currency code.
        This patch fixes the issue.

        Show
        Andrey Pavlenko added a comment - On the RI if no valid currency could be determined the method getCurrency() returns an instance of Currency object representing XXX (999) currency code. This patch fixes the issue.
        Hide
        Alexey Petrenko added a comment -

        Guys,

        could you please provide a unit test?

        Show
        Alexey Petrenko added a comment - Guys, could you please provide a unit test?
        Hide
        Andrey Pavlenko added a comment -

        The test attached.

        Show
        Andrey Pavlenko added a comment - The test attached.
        Hide
        Alexey Petrenko added a comment -

        Thank you.

        Show
        Alexey Petrenko added a comment - Thank you.
        Hide
        Alexei Zakharov added a comment -

        Patches were applied at the revision r487300. Please check. I'd also like to note that I've removed the "failing_" prefix from some tests names since we should not hide our failures. So there are a lot of failing tests in DecimalFormatTest now - still a lot of work to do.

        Show
        Alexei Zakharov added a comment - Patches were applied at the revision r487300. Please check. I'd also like to note that I've removed the "failing_" prefix from some tests names since we should not hide our failures. So there are a lot of failing tests in DecimalFormatTest now - still a lot of work to do.
        Hide
        Vladimir Ivanov added a comment -

        verified, thanks

        Show
        Vladimir Ivanov added a comment - verified, thanks
        Hide
        Alexei Zakharov added a comment -

        Was verified by Vladimir.

        Show
        Alexei Zakharov added a comment - Was verified by Vladimir.

          People

          • Assignee:
            Alexei Zakharov
            Reporter:
            Vladimir Ivanov
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development