]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - jars/icu4j-52_1/main/tests/localespi/src/com/ibm/icu/dev/test/localespi/NumberFormatTest.java
Upgrade ICU4J.
[Dictionary.git] / jars / icu4j-52_1 / main / tests / localespi / src / com / ibm / icu / dev / test / localespi / NumberFormatTest.java
similarity index 91%
rename from jars/icu4j-4_8_1_1/main/tests/localespi/src/com/ibm/icu/dev/test/localespi/NumberFormatTest.java
rename to jars/icu4j-52_1/main/tests/localespi/src/com/ibm/icu/dev/test/localespi/NumberFormatTest.java
index b8811824e469a69db7e147c8e999272d99acb8a1..4ae63877a2a6ec5b44d803e66633764e3cab32a0 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *******************************************************************************
- * Copyright (C) 2008, International Business Machines Corporation and         *
+ * Copyright (C) 2008-2012, International Business Machines Corporation and    *
  * others. All Rights Reserved.                                                *
  *******************************************************************************
  */
@@ -13,6 +13,7 @@ import java.text.ParseException;
 import java.util.Locale;
 
 import com.ibm.icu.dev.test.TestFmwk;
+import com.ibm.icu.util.ULocale;
 
 public class NumberFormatTest extends TestFmwk {
     public static void main(String[] args) throws Exception {
@@ -288,4 +289,28 @@ public class NumberFormatTest extends TestFmwk {
             }
         }
     }
+
+    public void TestKeywords() {
+        // ICU provider variant is appended
+        ULocale uloc0 = new ULocale("en_US_" + TestUtil.ICU_VARIANT + "@numbers=Arab;currency=EUR");
+        Locale loc = uloc0.toLocale();
+        // On Java 7+, locale extension is preserved
+        ULocale uloc = ULocale.forLocale(loc);
+        String nsType = uloc.getKeywordValue("numbers");
+        if (nsType == null) {
+            // Java 6 - skip this test
+            return;
+        }
+
+        NumberFormat jdkNfmt = NumberFormat.getCurrencyInstance(loc);
+        com.ibm.icu.text.NumberFormat icuNfmt = com.ibm.icu.text.NumberFormat.getCurrencyInstance(uloc);
+
+        final double num = 12345.67d;
+        String jdkOut = jdkNfmt.format(num);
+        String icuOut = icuNfmt.format(num);
+
+        if (!jdkOut.equals(icuOut)) {
+            errln("FAIL: JDK number format with Locale " + loc + " is " + jdkOut + ", expected: " + icuOut);
+        }
+    }
 }