]> granicus.if.org Git - icu/commitdiff
ICU-13634 Minor test expectation updates and status variable fixes. intltest format...
authorShane Carr <shane@unicode.org>
Tue, 17 Apr 2018 10:58:41 +0000 (10:58 +0000)
committerShane Carr <shane@unicode.org>
Tue, 17 Apr 2018 10:58:41 +0000 (10:58 +0000)
X-SVN-Rev: 41238

icu4c/source/i18n/decimfmt.cpp
icu4c/source/i18n/numfmt.cpp
icu4c/source/test/intltest/compactdecimalformattest.cpp
icu4c/source/test/intltest/dcfmtest.cpp
icu4c/source/test/intltest/measfmttest.cpp

index 5a625675c115cdae0b8af9578fd47b7a9ea678fd..1708b0d2e8174124dcceba99d8383e3b7b865b8e 100644 (file)
@@ -466,8 +466,7 @@ DecimalFormat::format(int64_t number, UnicodeString& appendTo, FieldPositionIter
 UnicodeString&
 DecimalFormat::format(StringPiece number, UnicodeString& appendTo, FieldPositionIterator* posIter,
                       UErrorCode& status) const {
-    ErrorCode localStatus;
-    FormattedNumber output = fFormatter->formatDecimal(number, localStatus);
+    FormattedNumber output = fFormatter->formatDecimal(number, status);
     if (posIter != nullptr) {
         output.populateFieldPositionIterator(*posIter, status);
     }
index 4b45ce00a19848be62d4e98c90989659795967d1..9d7ab667004324a6e9b6af1c183a134e68e75305 100644 (file)
@@ -589,13 +589,13 @@ NumberFormat::format(const Formattable& obj,
     } else {
         switch (n->getType()) {
         case Formattable::kDouble:
-            format(n->getDouble(), appendTo, pos);
+            format(n->getDouble(), appendTo, pos, status);
             break;
         case Formattable::kLong:
-            format(n->getLong(), appendTo, pos);
+            format(n->getLong(), appendTo, pos, status);
             break;
         case Formattable::kInt64:
-            format(n->getInt64(), appendTo, pos);
+            format(n->getInt64(), appendTo, pos, status);
             break;
         default:
             status = U_INVALID_FORMAT_ERROR;
index 9bdaaad663662664845afde4775c1a2b76cce448..04245639d7a5ea0938fb08c1661e51c2a81e80e4 100644 (file)
@@ -331,11 +331,14 @@ void CompactDecimalFormatTest::TestAPIVariants() {
   }
   
   actual.remove();
+  pos.setBeginIndex(0);
+  pos.setEndIndex(0);
   status = U_ZERO_ERROR;
   cdf->format((double)123456.0, actual, &posIter, status);
-  if (status != U_UNSUPPORTED_ERROR) {
-    errln(UnicodeString("Fail format(double,UnicodeString&,FieldPositionIterator*,UErrorCode&): Expected status U_UNSUPPORTED_ERROR;") +
-                                                              "Got status " + u_errorName(status));
+  posIter.next(pos);
+  if (actual != expected || pos.getEndIndex() != 3 || status != U_ZERO_ERROR) {
+    errln(UnicodeString("Fail format(int32_t,UnicodeString&,FieldPosition&,UErrorCode&): Expected: \"") + expected + "\", first pos 3, status U_ZERO_ERROR; " +
+          "Got: \"" + actual + "\", pos " + pos.getEndIndex() + ", status " + u_errorName(status));
   }
 
   actual.remove();
@@ -358,11 +361,14 @@ void CompactDecimalFormatTest::TestAPIVariants() {
   }
   
   actual.remove();
+  pos.setBeginIndex(0);
+  pos.setEndIndex(0);
   status = U_ZERO_ERROR;
   cdf->format((int32_t)123456, actual, &posIter, status);
-  if (status != U_UNSUPPORTED_ERROR) {
-    errln(UnicodeString("Fail format(int32_t,UnicodeString&,FieldPositionIterator*,UErrorCode&): Expected status U_UNSUPPORTED_ERROR;") +
-                                                              "Got status " + u_errorName(status));
+  posIter.next(pos);
+  if (actual != expected || pos.getEndIndex() != 3 || status != U_ZERO_ERROR) {
+    errln(UnicodeString("Fail format(int32_t,UnicodeString&,FieldPosition&,UErrorCode&): Expected: \"") + expected + "\", first pos 3, status U_ZERO_ERROR; " +
+          "Got: \"" + actual + "\", pos " + pos.getEndIndex() + ", status " + u_errorName(status));
   }
 
   actual.remove();
@@ -385,11 +391,14 @@ void CompactDecimalFormatTest::TestAPIVariants() {
   }
   
   actual.remove();
+  pos.setBeginIndex(0);
+  pos.setEndIndex(0);
   status = U_ZERO_ERROR;
   cdf->format((int64_t)123456, actual, &posIter, status);
-  if (status != U_UNSUPPORTED_ERROR) {
-    errln(UnicodeString("Fail format(int64_t,UnicodeString&,FieldPositionIterator*,UErrorCode&): Expected status U_UNSUPPORTED_ERROR;") +
-                                                              "Got status " + u_errorName(status));
+  posIter.next(pos);
+  if (actual != expected || pos.getEndIndex() != 3 || status != U_ZERO_ERROR) {
+    errln(UnicodeString("Fail format(int32_t,UnicodeString&,FieldPosition&,UErrorCode&): Expected: \"") + expected + "\", first pos 3, status U_ZERO_ERROR; " +
+          "Got: \"" + actual + "\", pos " + pos.getEndIndex() + ", status " + u_errorName(status));
   }
 
 }
index 63fff8146a21761a9a9b3b216ed30d318c922b2c..2dc9f82a4429423124876a43e4f746d943ccf0e1 100644 (file)
@@ -454,8 +454,9 @@ void DecimalFormatTest::execFormatTest(int32_t lineNum,
     }
     
     if (result != expected) {
-        errln("[%s] file dcfmtest.txt, line %d: expected \"%s\", got \"%s\"",
-            typeStr, lineNum, UnicodeStringPiece(expected).data(), UnicodeStringPiece(result).data());
+        errln("[%s] file dcfmtest.txt, line %d: expected \"%s\", got \"%s\", %s",
+            typeStr, lineNum, UnicodeStringPiece(expected).data(), UnicodeStringPiece(result).data(),
+            u_errorName(status));
     }
 }
 
index 7be9adfed0208354948879886829107f50862d06..fd58d72b5f4711d0ea35eeabdbf35005130392b8 100644 (file)
@@ -1876,9 +1876,9 @@ void MeasureFormatTest::TestCurrencies() {
     if (!assertSuccess("Error creating format object", status)) {
         return;
     }
-    verifyFormat("TestCurrenciesShort", fmt, &USD_NEG_1, 1, "-USD1.00");
-    verifyFormat("TestCurrenciesShort", fmt, &USD_1, 1, "USD1.00");
-    verifyFormat("TestCurrenciesShort", fmt, &USD_2, 1, "USD2.00");
+    verifyFormat("TestCurrenciesShort", fmt, &USD_NEG_1, 1, "-USD\\u00A01.00");
+    verifyFormat("TestCurrenciesShort", fmt, &USD_1, 1, "USD\\u00A01.00");
+    verifyFormat("TestCurrenciesShort", fmt, &USD_2, 1, "USD\\u00A02.00");
     fmt = MeasureFormat(en, UMEASFMT_WIDTH_NARROW, status);
     if (!assertSuccess("Error creating format object", status)) {
         return;
@@ -2099,8 +2099,8 @@ void MeasureFormatTest::TestGroupingSeparator() {
             "grouping separator",
             "2,147,483,647 yrs, -2,147,483,648 mths, -987 days, 1,362 hr, 987 min",
             appendTo);
-    assertEquals("begin index", 9, pos.getBeginIndex());
-    assertEquals("end index", 10, pos.getEndIndex());
+    assertEquals("begin index", 1, pos.getBeginIndex());
+    assertEquals("end index", 2, pos.getEndIndex());
 }
 
 void MeasureFormatTest::TestDoubleZero() {