mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-07 22:44:49 +00:00
ICU-20438 Fixes issues found in the no-data testing of ICU4C (BRS health check)
ICU-20438 Review feedback worked in.
This commit is contained in:
parent
eac8f4b31a
commit
b8364d38ed
7 changed files with 21 additions and 2 deletions
|
@ -194,6 +194,10 @@ static void checkFormattedValueString(
|
|||
UErrorCode* ec) {
|
||||
int32_t length;
|
||||
const UChar* actualString = ufmtval_getString(fv, &length, ec);
|
||||
if (U_FAILURE(*ec)) {
|
||||
assertIntEquals(message, 0, length);
|
||||
return;
|
||||
}
|
||||
assertSuccess(message, ec);
|
||||
// The string is guaranteed to be NUL-terminated.
|
||||
int32_t actualLength = u_strlen(actualString);
|
||||
|
|
|
@ -1673,7 +1673,9 @@ void DateIntervalFormatTest::testFormattedDateInterval() {
|
|||
const char16_t* message = u"FormattedDateInterval test 1";
|
||||
const char16_t* expectedString = u"July 20 \u2013 25, 2018";
|
||||
LocalPointer<Calendar> input1(Calendar::createInstance("en-GB", status));
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
LocalPointer<Calendar> input2(Calendar::createInstance("en-GB", status));
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
input1->set(2018, 6, 20);
|
||||
input2->set(2018, 6, 25);
|
||||
FormattedDateInterval result = fmt->formatToValue(*input1, *input2, status);
|
||||
|
@ -1704,7 +1706,9 @@ void DateIntervalFormatTest::testFormattedDateInterval() {
|
|||
const char16_t* message = u"FormattedDateInterval with fallback format test 1";
|
||||
const char16_t* expectedString = u"<< July 25, 2018 --- July 20, 2018 >>";
|
||||
LocalPointer<Calendar> input1(Calendar::createInstance("en-GB", status));
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
LocalPointer<Calendar> input2(Calendar::createInstance("en-GB", status));
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
input1->set(2018, 6, 20);
|
||||
input2->set(2018, 6, 25);
|
||||
FormattedDateInterval result = fmt->formatToValue(*input1, *input2, status);
|
||||
|
|
|
@ -212,8 +212,10 @@ void IntlTestWithFieldPosition::checkMixedFormattedValue(
|
|||
|
||||
// The temp string is guaranteed to be NUL-terminated
|
||||
UnicodeString readOnlyAlias = fv.toTempString(status);
|
||||
assertEquals(baseMessage + u"NUL-terminated",
|
||||
0, readOnlyAlias.getBuffer()[readOnlyAlias.length()]);
|
||||
if (!status.errIfFailureAndReset()) {
|
||||
assertEquals(baseMessage + u"NUL-terminated",
|
||||
0, readOnlyAlias.getBuffer()[readOnlyAlias.length()]);
|
||||
}
|
||||
|
||||
// Check nextPosition over all fields
|
||||
ConstrainedFieldPosition cfpos;
|
||||
|
|
|
@ -544,6 +544,7 @@ void ListFormatterTest::TestOutOfOrderPatterns() {
|
|||
void ListFormatterTest::TestFormattedValue() {
|
||||
IcuTestErrorCode status(*this, "TestFormattedValue");
|
||||
LocalPointer<ListFormatter> fmt(ListFormatter::createInstance("en", status));
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
|
||||
{
|
||||
const char16_t* message = u"Field position test 1";
|
||||
|
|
|
@ -2684,7 +2684,9 @@ void MeasureFormatTest::Test20332_PersonUnits() {
|
|||
};
|
||||
for (const auto& cas : cases) {
|
||||
MeasureFormat mf(cas.locale, cas.width, status);
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
Measure measure(25, cas.unitToAdopt, status);
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
verifyFormat(cas.locale, mf, &measure, 1, cas.expected);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9472,6 +9472,7 @@ void NumberFormatTest::Test20348_CurrencyPrefixOverride() {
|
|||
IcuTestErrorCode status(*this, "Test20348_CurrencyPrefixOverride");
|
||||
LocalPointer<DecimalFormat> fmt(static_cast<DecimalFormat*>(
|
||||
NumberFormat::createCurrencyInstance("en", status)));
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
UnicodeString result;
|
||||
assertEquals("Initial pattern",
|
||||
u"¤#,##0.00", fmt->toPattern(result.remove()));
|
||||
|
@ -9507,6 +9508,7 @@ void NumberFormatTest::Test20358_GroupingInPattern() {
|
|||
IcuTestErrorCode status(*this, "Test20358_GroupingInPattern");
|
||||
LocalPointer<DecimalFormat> fmt(static_cast<DecimalFormat*>(
|
||||
NumberFormat::createInstance("en", status)));
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
UnicodeString result;
|
||||
assertEquals("Initial pattern",
|
||||
u"#,##0.###", fmt->toPattern(result.remove()));
|
||||
|
@ -9538,6 +9540,7 @@ void NumberFormatTest::Test13731_DefaultCurrency() {
|
|||
{
|
||||
LocalPointer<NumberFormat> nf(NumberFormat::createInstance(
|
||||
"en", UNumberFormatStyle::UNUM_CURRENCY, status), status);
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
assertEquals("symbol", u"¤1.10",
|
||||
nf->format(1.1, result.remove(), status));
|
||||
assertEquals("currency", u"XXX", nf->getCurrency());
|
||||
|
@ -9545,6 +9548,7 @@ void NumberFormatTest::Test13731_DefaultCurrency() {
|
|||
{
|
||||
LocalPointer<NumberFormat> nf(NumberFormat::createInstance(
|
||||
"en", UNumberFormatStyle::UNUM_CURRENCY_ISO, status), status);
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
assertEquals("iso_code", u"XXX 1.10",
|
||||
nf->format(1.1, result.remove(), status));
|
||||
assertEquals("currency", u"XXX", nf->getCurrency());
|
||||
|
@ -9552,6 +9556,7 @@ void NumberFormatTest::Test13731_DefaultCurrency() {
|
|||
{
|
||||
LocalPointer<NumberFormat> nf(NumberFormat::createInstance(
|
||||
"en", UNumberFormatStyle::UNUM_CURRENCY_PLURAL, status), status);
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
assertEquals("plural", u"1.10 (unknown currency)",
|
||||
nf->format(1.1, result.remove(), status));
|
||||
assertEquals("currency", u"XXX", nf->getCurrency());
|
||||
|
|
|
@ -1424,6 +1424,7 @@ void RelativeDateTimeFormatterTest::TestRBNF() {
|
|||
IcuTestErrorCode status(*this, "TestRBNF");
|
||||
|
||||
LocalPointer<RuleBasedNumberFormat> rbnf(new RuleBasedNumberFormat(URBNF_SPELLOUT, "en-us", status));
|
||||
if (status.errIfFailureAndReset()) { return; }
|
||||
RelativeDateTimeFormatter fmt("en-us", rbnf.orphan(), status);
|
||||
UnicodeString result;
|
||||
assertEquals("format (direction)", "in five seconds",
|
||||
|
|
Loading…
Add table
Reference in a new issue