+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
/********************************************************************
* COPYRIGHT:
* Copyright (c) 1997-2016, International Business Machines Corporation and
#include "unicode/messagepattern.h"
#include "unicode/selfmt.h"
#include "unicode/gregocal.h"
+#include "unicode/strenum.h"
#include <stdio.h>
void
continue;
}
Formattable result;
- FieldPosition pos(0);
+ FieldPosition pos(FieldPosition::DONT_CARE);
buffer.remove();
form->format(myNumber, buffer, pos);
success = U_ZERO_ERROR;
"1.0<=Arg<2.0",
"2.0<-Arg"};
ChoiceFormat *cf = new ChoiceFormat(limit, formats, 3);
- FieldPosition status(0);
+ FieldPosition status(FieldPosition::DONT_CARE);
UnicodeString toAppendTo;
cf->format((int32_t)1, toAppendTo, status);
if (toAppendTo != "1.0<=Arg<2.0") {
//it_out << "Pat out: " << form->toPattern(buffer));
UnicodeString result;
int32_t count = 4;
- FieldPosition fieldpos(0);
+ FieldPosition fieldpos(FieldPosition::DONT_CARE);
form->format(testArgs, count, result, fieldpos, success);
if (U_FAILURE(success)) {
dataerrln("MessageFormat failed test #3 - %s", u_errorName(success));
UnicodeString abc("abc");
UnicodeString def("def");
Formattable testArgs1[] = { abc, def };
- FieldPosition fieldpos(0);
+ FieldPosition fieldpos(FieldPosition::DONT_CARE);
assertEquals("format",
"There are abc files on def",
form->format(testArgs1, 2, buffer2, fieldpos, success));
err = U_ZERO_ERROR;
//Create the MessageFormat with Plural format with embedded select format(nested pattern)
MessageFormat* msgFmt5 = internalCreate(t5.unescape(), Locale("fr"),err,(char*)"From TestMessageFormat::TestSelectFormat create t5");
+ // with no data the above should fail but it seems to construct an invalid MessageFormat with no reported error. See #13079
if (!U_FAILURE(err)) {
//Arguments
Formattable testArgs10[] = {"Kirti",(int32_t)6,"female"};
MessageFormat msg( formatStr, err);
result = "";
- FieldPosition pos(0);
+ FieldPosition pos(FieldPosition::DONT_CARE);
result = msg.format(
arguments,
3,
err = U_ZERO_ERROR;
MessageFormat msg( formatStr, err);
- FieldPosition fp(0);
+ FieldPosition fp(FieldPosition::DONT_CARE);
result = "";
fp = 0;
UnicodeString formatStr("Hello World on {0,date,full}", "");
UnicodeString resultStr(" ", "");
UnicodeString result;
- FieldPosition fp(0);
+ FieldPosition fp(FieldPosition::DONT_CARE);
UDate d = Calendar::getNow();
const Formattable fargs( d, Formattable::kIsDate );
if (U_FAILURE(ec)) {
errln((UnicodeString)"Failed to parse test argument " + values[j]);
} else {
- FieldPosition fp(0);
+ FieldPosition fp(FieldPosition::DONT_CARE);
UnicodeString result;
fmt->format(args, 1, result, fp, ec);
logln((UnicodeString)"value: " + toString(args[0]) + " --> " + result + UnicodeString(" ec: ") + u_errorName(ec));
}
Formattable zero0[] = { (int32_t)0 };
- FieldPosition fieldpos(0);
+ FieldPosition fieldpos(FieldPosition::DONT_CARE);
UnicodeString buffer1, buffer2;
assertEquals("incompatible ICU MessageFormat compatibility-apostrophe behavior",
"ab12'3'4''.yz",
return;
}
Formattable args[1] = { (int32_t)2 };
- FieldPosition ignore(0);
+ FieldPosition ignore(FieldPosition::DONT_CARE);
UnicodeString result;
assertEquals("trim-numbered-arg format() failed", "a #,#2.0 z",
m.format(args, 1, result, ignore, errorCode));
return;
}
Formattable args[1] = { (int32_t)21 };
- FieldPosition ignore(0);
+ FieldPosition ignore(FieldPosition::DONT_CARE);
UnicodeString result;
assertEquals("plural-and-ordinal format(21) failed", "21 files, 21st file",
m.format(args, 1, result, ignore, errorCode), TRUE);