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:
Norbert Runge 2019-02-27 17:54:49 -08:00 committed by gnrunge
parent eac8f4b31a
commit b8364d38ed
7 changed files with 21 additions and 2 deletions

View file

@ -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);

View file

@ -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);

View file

@ -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;

View file

@ -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";

View file

@ -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);
}
}

View file

@ -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());

View file

@ -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",