]> granicus.if.org Git - icu/commitdiff
ICU-11647 Port Test11647() from Java - pattern w four currency symbols.
authorAndy Heninger <andy.heninger@gmail.com>
Sat, 12 May 2018 22:37:33 +0000 (22:37 +0000)
committerAndy Heninger <andy.heninger@gmail.com>
Sat, 12 May 2018 22:37:33 +0000 (22:37 +0000)
X-SVN-Rev: 41370

icu4c/source/test/intltest/numfmtst.cpp
icu4c/source/test/intltest/numfmtst.h

index 6088522df896830753f191420d2f539cdda9cfa1..fc061d9e3523fa513c91455a865c2b64bd1a60b8 100644 (file)
@@ -679,6 +679,7 @@ void NumberFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &n
   TESTCASE_AUTO(Test11649_DecFmtCurrencies);
   TESTCASE_AUTO(Test13148_ParseGroupingSeparators);
   TESTCASE_AUTO(Test12753_PatternDecimalPoint);
+  TESTCASE_AUTO(Test11647_PatternCurrencySymbols);
   TESTCASE_AUTO_END;
 }
 
@@ -9503,4 +9504,13 @@ void NumberFormatTest::Test12753_PatternDecimalPoint() {
                  U_INVALID_FORMAT_ERROR, status);
     }
 
+ void NumberFormatTest::Test11647_PatternCurrencySymbols() {
+    UErrorCode status = U_ZERO_ERROR;
+    DecimalFormat df(status);
+    df.applyPattern(u"¤¤¤¤#", status);
+    if (!assertSuccess("", status)) return;
+    UnicodeString actual;
+    df.format(123, actual);
+    assertEquals("Should replace 4 currency signs with U+FFFD", "\uFFFD123", actual);
+}
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 84cf97cfa68c6a092a38ed596bb26ca0c395d1ed..76feaa99c8acee7784b99ee6b6e6414291fc1a52 100644 (file)
@@ -243,6 +243,7 @@ class NumberFormatTest: public CalendarTimeZoneTest {
     void Test11649_DecFmtCurrencies();
     void Test13148_ParseGroupingSeparators();
     void Test12753_PatternDecimalPoint();
+    void Test11647_PatternCurrencySymbols();
 
  private:
     UBool testFormattableAsUFormattable(const char *file, int line, Formattable &f);