12345.67,
u"١٢٬٣٤٥٫٦٧ US$");
+ assertFormatSingle(
+ u"NumberingSystem in API should win over @numbers keyword",
+ NumberFormatter::with().adoptSymbols(new NumberingSystem(LATN)).unit(USD),
+ Locale("ar@numbers=arab"),
+ 12345.67,
+ u"US$ 12,345.67");
+
UErrorCode status = U_ZERO_ERROR;
+ assertEquals("NumberingSystem in API should win over @numbers keyword in reverse order",
+ u"US$ 12,345.67",
+ NumberFormatter::withLocale(Locale("ar@numbers=arab"))
+ .adoptSymbols(new NumberingSystem(LATN))
+ .unit(USD)
+ .formatDouble(12345.67, status)
+ .toString());
+
DecimalFormatSymbols symbols = SWISS_SYMBOLS;
UnlocalizedNumberFormatter f = NumberFormatter::with().symbols(symbols);
symbols.setSymbol(DecimalFormatSymbols::ENumberFormatSymbol::kGroupingSeparatorSymbol, u"!", status);
UnicodeString strBuf;
numFmt->format(numberToBeFormat, strBuf);
+ // TODO: Re-enable the following test block. It has been disabled since
+ // the code was first checked-in (r25497)
/*
int resultDataIndex = 3 + kIndex;
// DATA[i][resultDataIndex] is the currency format result
12345.67,
"١٢٬٣٤٥٫٦٧ US$");
+ assertFormatSingle(
+ "NumberingSystem in API should win over @numbers keyword",
+ "",
+ NumberFormatter.with().symbols(NumberingSystem.LATIN).unit(USD),
+ new ULocale("ar@numbers=arab"),
+ 12345.67,
+ "US$ 12,345.67");
+
+ assertEquals("NumberingSystem in API should win over @numbers keyword in reverse order",
+ "US$ 12,345.67",
+ NumberFormatter.withLocale(new ULocale("ar@numbers=arab"))
+ .symbols(NumberingSystem.LATIN)
+ .unit(USD)
+ .format(12345.67)
+ .toString());
+
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(new ULocale("de-CH"));
UnlocalizedNumberFormatter f = NumberFormatter.with().symbols(symbols);
symbols.setGroupingSeparatorString("!");