]> granicus.if.org Git - icu/commitdiff
ICU-13567 make Arabic number formatting tests work with both native & ASCII digits
authorMarkus Scherer <markus.icu@gmail.com>
Mon, 26 Feb 2018 23:32:05 +0000 (23:32 +0000)
committerMarkus Scherer <markus.icu@gmail.com>
Mon, 26 Feb 2018 23:32:05 +0000 (23:32 +0000)
X-SVN-Rev: 40988

icu4c/source/test/cintltst/cnumtst.c
icu4c/source/test/intltest/compactdecimalformattest.cpp
icu4c/source/test/intltest/dtfmttst.cpp
icu4c/source/test/intltest/numbertest_api.cpp
icu4c/source/test/testdata/numberformattestspecification.txt
icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/CompactDecimalFormatTest.java
icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java
icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTestCases.txt
icu4j/main/tests/core/src/com/ibm/icu/dev/test/number/NumberFormatterApiTest.java

index e2cd68abae106c5542f1b103f702b68899d37a80..d11cca78b3eef1f0059ea6dedc96e0f05dfb6cf3 100644 (file)
@@ -2372,7 +2372,7 @@ static const NumSysTestItem numSysTestItems[] = {
     { "en",                          "latn",    10,  FALSE,  latnDesc },
     { "en@numbers=roman",            "roman",   10,  TRUE,   romanDesc },
     { "en@numbers=finance",          "latn",    10,  FALSE,  latnDesc },
-    { "ar",                          "arab",    10,  FALSE,  arabDesc },
+    { "ar-EG",                       "arab",    10,  FALSE,  arabDesc },
     { "fa",                          "arabext", 10,  FALSE,  arabextDesc },
     { "zh_Hans@numbers=hanidec",     "hanidec", 10,  FALSE,  hanidecDesc },
     { "zh_Hant@numbers=traditional", "hant",    10,  TRUE,   hantDesc },
index 5ced1513b36fb05faade2650a17018081f4c3b8d..9bdaaad663662664845afde4775c1a2b76cce448 100644 (file)
@@ -279,7 +279,7 @@ void CompactDecimalFormatTest::TestSwahiliShortNegative() {
 }
 
 void CompactDecimalFormatTest::TestArabicLong() {
-  CheckLocale("ar", UNUM_LONG, kArabicLong, UPRV_LENGTHOF(kArabicLong));
+  CheckLocale("ar-EG", UNUM_LONG, kArabicLong, UPRV_LENGTHOF(kArabicLong));
 }
 
 void CompactDecimalFormatTest::TestSignificantDigits() {
index fd3a9f1faf01d4f01c4fe3e24f8dfcde24949585..35870f780f593146a17d1819180322eb4336c515 100644 (file)
@@ -1355,18 +1355,18 @@ DateFormatTest::TestLocaleDateFormat() // Bug 495
 void
 DateFormatTest::TestFormattingLocaleTimeSeparator()
 {
-    // This test not as useful is it once was, since timeSeparator
-    // in the Arabic is changed back to ":" in CLDR 28.
+    // This test not as useful as it once was, since timeSeparator
+    // in the Arabic locale is changed back to ":" in CLDR 28.
     const UDate testDate = 874266720000.;  // Sun Sep 14 21:52:00 CET 1997
     logln((UnicodeString)"Date set to : " + dateToString(testDate));
 
     const LocalPointer<const TimeZone> tz(TimeZone::createTimeZone("CET"));
 
     const LocalPointer<DateFormat> dfArab(DateFormat::createTimeInstance(
-            DateFormat::SHORT, Locale("ar")));
+            DateFormat::SHORT, Locale("ar", "EG")));
 
     const LocalPointer<DateFormat> dfLatn(DateFormat::createTimeInstance(
-            DateFormat::SHORT, Locale("ar", NULL, NULL, "numbers=latn")));
+            DateFormat::SHORT, Locale("ar", "EG", NULL, "numbers=latn")));
 
     if (dfLatn.isNull() || dfArab.isNull()) {
         dataerrln("Error calling DateFormat::createTimeInstance()");
index 783bb00e2f615dab2e444590014b2e4e402af361..64656c81758f89b3a440349596af571889f627c1 100644 (file)
@@ -1486,9 +1486,9 @@ void NumberFormatterApiTest::symbols() {
             u"US$ 12,345.67");
 
     assertFormatSingle(
-            u"Currency symbol should follow number in ar with NS arab",
+            u"Currency symbol should follow number in ar-EG with NS arab",
             NumberFormatter::with().unit(USD),
-            Locale("ar"),
+            Locale("ar-EG"),
             12345.67,
             u"١٢٬٣٤٥٫٦٧ US$");
 
index afddf3156984cd4c9caf7dcecb1e90955131342b..1f11f8da7c12ac94540726f813402956f90f4604 100644 (file)
@@ -13,7 +13,7 @@
 // https://docs.google.com/document/d/1T2P0p953_Lh1pRwo-5CuPVrHlIBa_wcXElG-Hhg_WHM/edit?usp=sharing
 
 test plus sign
-set locale ar
+set locale ar-EG
 set pattern +0;-#
 begin
 format output  breaks
index d62d160187bb6b8586e77c93012a825b524fa200..244ab5214da6fd835242ec663cec3d0e7c67e8f9 100644 (file)
@@ -393,7 +393,7 @@ public class CompactDecimalFormatTest extends TestFmwk {
     @Test
     public void TestArabicLongStyle() {
         NumberFormat cdf =
-                CompactDecimalFormat.getInstance(new Locale("ar"), CompactStyle.LONG);
+                CompactDecimalFormat.getInstance(new Locale("ar-EG"), CompactStyle.LONG);
         assertEquals("Arabic Long", "\u061C-\u0665\u066B\u0663 \u0623\u0644\u0641", cdf.format(-5300));
     }
 
@@ -690,17 +690,17 @@ public class CompactDecimalFormatTest extends TestFmwk {
         assertEquals("CDF should correctly format 43000 in 'ar'", "٤٣ ألف", result);
 
         // Bug #12449
-        cdf = CompactDecimalFormat.getInstance(new ULocale("ar"), CompactDecimalFormat.CompactStyle.SHORT);
+        cdf = CompactDecimalFormat.getInstance(new ULocale("ar-EG"), CompactDecimalFormat.CompactStyle.SHORT);
         cdf.setMaximumSignificantDigits(3);
         result = cdf.format(1234);
-        assertEquals("CDF should correctly format 1234 with 3 significant digits in 'ar'", "١٫٢٣ ألف", result);
+        assertEquals("CDF should correctly format 1234 with 3 significant digits in 'ar-EG'", "١٫٢٣ ألف", result);
 
         // Check currency formatting as well
-        cdf = CompactDecimalFormat.getInstance(new ULocale("ar"), CompactDecimalFormat.CompactStyle.SHORT);
+        cdf = CompactDecimalFormat.getInstance(new ULocale("ar-EG"), CompactDecimalFormat.CompactStyle.SHORT);
         result = cdf.format(new CurrencyAmount(43000f, Currency.getInstance("USD")));
-        assertEquals("CDF should correctly format 43000 with currency in 'ar'", "US$ ٤٣ ألف", result);
+        assertEquals("CDF should correctly format 43000 with currency in 'ar-EG'", "US$ ٤٣ ألف", result);
         result = cdf.format(new CurrencyAmount(-43000f, Currency.getInstance("USD")));
-        assertEquals("CDF should correctly format -43000 with currency in 'ar'", "؜-US$ ٤٣ ألف", result);
+        assertEquals("CDF should correctly format -43000 with currency in 'ar-EG'", "؜-US$ ٤٣ ألف", result);
 
         // Extra locale with different positive/negative formats
         cdf = CompactDecimalFormat.getInstance(new ULocale("fi"), CompactDecimalFormat.CompactStyle.SHORT);
index 110a881e861759e2b5660484e60428402ea78b48..205fe4e4cf9e6b4497317c1c4e0928666217601e 100644 (file)
@@ -2067,8 +2067,8 @@ public class DateFormatTest extends TestFmwk {
         Date date = new Date(874266720000L);  // Sun Sep 14 21:52:00 CET 1997
         TimeZone tz = TimeZone.getTimeZone("CET");
 
-        DateFormat dfArab = DateFormat.getTimeInstance(DateFormat.SHORT, new ULocale("ar"));
-        DateFormat dfLatn = DateFormat.getTimeInstance(DateFormat.SHORT, new ULocale("ar-u-nu-latn"));
+        DateFormat dfArab = DateFormat.getTimeInstance(DateFormat.SHORT, new ULocale("ar-EG"));
+        DateFormat dfLatn = DateFormat.getTimeInstance(DateFormat.SHORT, new ULocale("ar-EG-u-nu-latn"));
 
         dfArab.setTimeZone(tz);
         dfLatn.setTimeZone(tz);
index 14b52190170c081183a7d14c135e2097f68315fc..18cb765a128e1d755f649a19d359ddb87530071f 100644 (file)
@@ -109,7 +109,7 @@ p: -              "1 234,56" 1234.56
 p: -              "1,234,56" 1.234
 p: -              "1。234、56" 1234.56
 
-loc= "ar"
+loc= "ar-EG"
 p: -              "1234٫56" 1234.56
 p: -              "1234،56" 1234.56
 p: -              "1234،56" 1234.56
index fe01e1e3ec9463302395fa1dad11b3138b41b918..ec4ff7e0fc78478e3834c25643939214b9263bab 100644 (file)
@@ -1579,10 +1579,10 @@ public class NumberFormatterApiTest {
                 "US$ 12,345.67");
 
         assertFormatSingle(
-                "Currency symbol should follow number in ar with NS arab",
+                "Currency symbol should follow number in ar-EG with NS arab",
                 "",
                 NumberFormatter.with().unit(USD),
-                new ULocale("ar"),
+                new ULocale("ar-EG"),
                 12345.67,
                 "١٢٬٣٤٥٫٦٧ US$");