]> granicus.if.org Git - icu/commitdiff
ICU-13581 Make tests work, not crash, when run without ICU data
authorNorbert Runge <nrunge@google.com>
Tue, 6 Mar 2018 23:13:49 +0000 (23:13 +0000)
committerNorbert Runge <nrunge@google.com>
Tue, 6 Mar 2018 23:13:49 +0000 (23:13 +0000)
X-SVN-Rev: 41073

icu4c/source/test/intltest/alphaindextst.cpp
icu4c/source/test/intltest/numbertest_patternmodifier.cpp
icu4c/source/test/intltest/numfmtst.cpp

index 667e0435a862419c6d74853ef90a29b74b5cc85f..8a4edb27711963577655504df7b64ecf1436a3d2 100644 (file)
@@ -736,7 +736,11 @@ void AlphabeticIndexTest::testHasBuckets() {
 void AlphabeticIndexTest::checkHasBuckets(const Locale &locale, UScriptCode script) {
     IcuTestErrorCode errorCode(*this, "checkHasBuckets");
     AlphabeticIndex aindex(locale, errorCode);
-    LocalPointer<AlphabeticIndex::ImmutableIndex> index(aindex.buildImmutableIndex(errorCode));
+    LocalPointer<AlphabeticIndex::ImmutableIndex> index(aindex.buildImmutableIndex(errorCode), errorCode);
+    if (U_FAILURE(errorCode)) {
+      dataerrln("%s %d  Error in index creation",  __FILE__, __LINE__);
+      return;
+    }
     UnicodeString loc = locale.getName();
     assertTrue(loc + u" at least 3 buckets", index->getBucketCount() >= 3);
     const AlphabeticIndex::Bucket *bucket = index->getBucket(1);
index 07f840576bf66ef66cbdebc519dcf2767175fd13..79c99e9c2244cb006a30c88b595b46e6cdc2c6e9 100644 (file)
@@ -106,8 +106,13 @@ void PatternModifierTest::testPatternWithNoPlaceholder() {
     nsb.append(u"x123y", UNUM_FIELD_COUNT, status);
     assertSuccess("Spot 5", status);
     MicroProps micros;
-    LocalPointer<ImmutablePatternModifier> imod(mod.createImmutable(status));
-    assertSuccess("Spot 6", status);
+    LocalPointer<ImmutablePatternModifier> imod(mod.createImmutable(status), status);
+    if (U_FAILURE(status)) {
+      dataerrln("%s %d  Error in ImmutablePatternModifier creation",
+                __FILE__, __LINE__);
+      assertSuccess("Spot 6", status);
+      return;
+    }
     DecimalQuantity quantity;
     imod->applyToMicros(micros, quantity);
     micros.modMiddle->apply(nsb, 1, 4, status);
index a72567903f5f4975c47fdce421b3c337188b5ef6..c8fce9e28b66bdd410d9e4a5893130483759edcd 100644 (file)
@@ -8934,8 +8934,12 @@ void NumberFormatTest::Test11035_FormatCurrencyAmount() {
     // Test two ways to set a currency via API
 
     Locale loc1 = Locale("pt_PT");
-    LocalPointer<NumberFormat> fmt1(NumberFormat::createCurrencyInstance(loc1, status));
-    assertSuccess("Creating fmt1", status);
+    LocalPointer<NumberFormat> fmt1(NumberFormat::createCurrencyInstance("loc1", status),
+                                    status);
+    if (U_FAILURE(status)) {
+      dataerrln("%s %d NumberFormat instance fmt1 is null",  __FILE__, __LINE__);
+      return;
+    }
     fmt1->setCurrency(u"PTE", status);
     assertSuccess("Setting currency on fmt1", status);
     UnicodeString actualSetCurrency;
@@ -8947,7 +8951,7 @@ void NumberFormatTest::Test11035_FormatCurrencyAmount() {
     UnicodeString actualLocaleString;
     fmt2->format(amount, actualLocaleString);
 
-    // TODO: The following test fill fail until DecimalFormat wraps NumberFormatter.
+    // TODO: The following test will fail until DecimalFormat wraps NumberFormatter.
     if (!logKnownIssue("13574")) {
         assertEquals("Custom Currency Pattern, Set Currency", expected, actualSetCurrency);
     }
@@ -8955,7 +8959,11 @@ void NumberFormatTest::Test11035_FormatCurrencyAmount() {
 
 void NumberFormatTest::Test11318_DoubleConversion() {
     IcuTestErrorCode status(*this, "Test11318_DoubleConversion");
-    LocalPointer<NumberFormat> nf(NumberFormat::createInstance("en", status));
+    LocalPointer<NumberFormat> nf(NumberFormat::createInstance("en", status), status);
+    if (U_FAILURE(status)) {
+      dataerrln("%s %d Error in NumberFormat instance creation",  __FILE__, __LINE__);
+      return;
+    }
     nf->setMaximumFractionDigits(40);
     nf->setMaximumIntegerDigits(40);
     UnicodeString appendTo;