From 5f57f0446603003fb1640ded0fefefd8b8f139e7 Mon Sep 17 00:00:00 2001 From: Shane Carr Date: Thu, 12 Apr 2018 04:04:23 +0000 Subject: [PATCH] ICU-13634 Updating test expectations for the default currency long name. X-SVN-Rev: 41218 --- icu4c/source/i18n/numparse_affixes.h | 4 ---- icu4c/source/test/intltest/numfmtst.cpp | 9 ++++----- icu4c/source/test/intltest/numfmtst.h | 2 +- .../com/ibm/icu/impl/number/CustomSymbolCurrency.java | 6 +++--- .../com/ibm/icu/dev/test/format/NumberFormatTest.java | 2 ++ 5 files changed, 10 insertions(+), 13 deletions(-) diff --git a/icu4c/source/i18n/numparse_affixes.h b/icu4c/source/i18n/numparse_affixes.h index 08a7d912c6a..fe27cad03e9 100644 --- a/icu4c/source/i18n/numparse_affixes.h +++ b/icu4c/source/i18n/numparse_affixes.h @@ -79,10 +79,6 @@ struct AffixTokenMatcherSetupData { const DecimalFormatSymbols& dfs; IgnorablesMatcher& ignorables; const Locale& locale; - -// const UChar* currencyCode, const UnicodeString* currency1, -// const UnicodeString* currency2, const DecimalFormatSymbols* dfs, -// IgnorablesMatcher* ignorables, const Locale* locale }; diff --git a/icu4c/source/test/intltest/numfmtst.cpp b/icu4c/source/test/intltest/numfmtst.cpp index 9ac2f98d3dc..8afd143a390 100644 --- a/icu4c/source/test/intltest/numfmtst.cpp +++ b/icu4c/source/test/intltest/numfmtst.cpp @@ -651,6 +651,7 @@ void NumberFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &n TESTCASE_AUTO(Test11649_toPatternWithMultiCurrency); TESTCASE_AUTO(Test13327_numberingSystemBufferOverflow); TESTCASE_AUTO(Test13391_chakmaParsing); + TESTCASE_AUTO(Test11735_ExceptionIssue); TESTCASE_AUTO(Test11035_FormatCurrencyAmount); TESTCASE_AUTO(Test11318_DoubleConversion); TESTCASE_AUTO_END; @@ -8724,9 +8725,7 @@ void NumberFormatTest::Test11376_getAndSetPositivePrefix() { } DecimalFormat *dfmt = (DecimalFormat *) fmt.getAlias(); UnicodeString result; - UnicodeString tripleIntlCurrency(" \\u00a4\\u00a4\\u00a4"); - tripleIntlCurrency = tripleIntlCurrency.unescape(); - assertEquals("", tripleIntlCurrency, dfmt->getPositiveSuffix(result)); + assertEquals("", u" (unknown currency)", dfmt->getPositiveSuffix(result)); dfmt->setCurrency(USD); // getPositiveSuffix() always returns the suffix for the @@ -8919,8 +8918,8 @@ void NumberFormatTest::verifyFieldPositionIterator( } } -void NumberFormatTest::checkExceptionIssue11735() { - UErrorCode status; +void NumberFormatTest::Test11735_ExceptionIssue() { + UErrorCode status = U_ZERO_ERROR; Locale enLocale("en"); DecimalFormatSymbols symbols(enLocale, status); diff --git a/icu4c/source/test/intltest/numfmtst.h b/icu4c/source/test/intltest/numfmtst.h index c212bea393a..d318cad93f9 100644 --- a/icu4c/source/test/intltest/numfmtst.h +++ b/icu4c/source/test/intltest/numfmtst.h @@ -218,7 +218,7 @@ class NumberFormatTest: public CalendarTimeZoneTest { void Test13327_numberingSystemBufferOverflow(); void Test13391_chakmaParsing(); - void checkExceptionIssue11735(); + void Test11735_ExceptionIssue(); void Test11035_FormatCurrencyAmount(); void Test11318_DoubleConversion(); diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/CustomSymbolCurrency.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/CustomSymbolCurrency.java index b794aebe534..a04170b6256 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/CustomSymbolCurrency.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/CustomSymbolCurrency.java @@ -17,14 +17,14 @@ public class CustomSymbolCurrency extends Currency { if (currency == null) { currency = symbols.getCurrency(); } - String currency1Sym = symbols.getCurrencySymbol(); - String currency2Sym = symbols.getInternationalCurrencySymbol(); if (currency == null) { - return new CustomSymbolCurrency("XXX", currency1Sym, currency2Sym); + return Currency.getInstance("XXX"); } if (!currency.equals(symbols.getCurrency())) { return currency; } + String currency1Sym = symbols.getCurrencySymbol(); + String currency2Sym = symbols.getInternationalCurrencySymbol(); String currency1 = currency.getName(symbols.getULocale(), Currency.SYMBOL_NAME, null); String currency2 = currency.getCurrencyCode(); if (!currency1.equals(currency1Sym) || !currency2.equals(currency2Sym)) { diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java index 728c538197b..443dc1dbd53 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java @@ -6032,7 +6032,9 @@ public class NumberFormatTest extends TestFmwk { public void testCurrencyPluralAffixOverrides() { // The affix setters should override CurrencyPluralInfo, used in the plural currency constructor. DecimalFormat df = (DecimalFormat) NumberFormat.getInstance(ULocale.ENGLISH, NumberFormat.PLURALCURRENCYSTYLE); + assertEquals("Defaults to unknown currency", " (unknown currency)", df.getPositiveSuffix()); df.setCurrency(Currency.getInstance("USD")); + assertEquals("Should resolve to CurrencyPluralInfo", " US dollars", df.getPositiveSuffix()); df.setPositiveSuffix("lala"); assertEquals("Custom suffix should round-trip", "lala", df.getPositiveSuffix()); assertEquals("Custom suffix should be used in formatting", "123.00lala", df.format(123)); -- 2.40.0