mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-10 15:42:14 +00:00
ICU-2840 tests shouldn't crash if there is no data
X-SVN-Rev: 12340
This commit is contained in:
parent
43e9c46138
commit
4df42a86bb
31 changed files with 684 additions and 142 deletions
|
@ -36,6 +36,8 @@ CollationDummyTest::CollationDummyTest()
|
|||
myCollation = new RuleBasedCollator(ruleset, status);
|
||||
if(U_FAILURE(status)){
|
||||
errln("ERROR: in creation of rule based collator from ruleset");
|
||||
delete myCollation;
|
||||
myCollation = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -191,14 +193,19 @@ void CollationDummyTest::TestJB581(void)
|
|||
void CollationDummyTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ )
|
||||
{
|
||||
if (exec) logln("TestSuite CollationDummyTest: ");
|
||||
switch (index) {
|
||||
case 0: name = "TestPrimary"; if (exec) TestPrimary(/* par */); break;
|
||||
case 1: name = "TestSecondary"; if (exec) TestSecondary(/* par */); break;
|
||||
case 2: name = "TestTertiary"; if (exec) TestTertiary(/* par */); break;
|
||||
case 3: name = "TestExtra"; if (exec) TestExtra(/* par */); break;
|
||||
case 4: name = "TestIdentical"; if (exec) TestIdentical(/* par */); break;
|
||||
case 5: name = "TestJB581"; if (exec) TestJB581(/* par */); break;
|
||||
default: name = ""; break;
|
||||
if(myCollation) {
|
||||
switch (index) {
|
||||
case 0: name = "TestPrimary"; if (exec) TestPrimary(/* par */); break;
|
||||
case 1: name = "TestSecondary"; if (exec) TestSecondary(/* par */); break;
|
||||
case 2: name = "TestTertiary"; if (exec) TestTertiary(/* par */); break;
|
||||
case 3: name = "TestExtra"; if (exec) TestExtra(/* par */); break;
|
||||
case 4: name = "TestIdentical"; if (exec) TestIdentical(/* par */); break;
|
||||
case 5: name = "TestJB581"; if (exec) TestJB581(/* par */); break;
|
||||
default: name = ""; break;
|
||||
}
|
||||
} else {
|
||||
errln("Collator couldn't be instantiated!");
|
||||
name = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -409,6 +409,13 @@ CollationAPITest::TestSafeClone() {
|
|||
someCollators[0] = Collator::createInstance("en_US", err);
|
||||
someCollators[1] = Collator::createInstance("ko", err);
|
||||
someCollators[2] = Collator::createInstance("ja_JP", err);
|
||||
if(U_FAILURE(err)) {
|
||||
errln("Couldn't instantiate collators. Error: %s", u_errorName(err));
|
||||
delete someCollators[0];
|
||||
delete someCollators[1];
|
||||
delete someCollators[2];
|
||||
return;
|
||||
}
|
||||
|
||||
/* change orig & clone & make sure they are independent */
|
||||
|
||||
|
@ -497,12 +504,12 @@ CollationAPITest::TestCollationKey(/* char* par */)
|
|||
Collator *col = 0;
|
||||
UErrorCode success=U_ZERO_ERROR;
|
||||
col = Collator::createInstance(Locale::getEnglish(), success);
|
||||
col->setStrength(Collator::TERTIARY);
|
||||
if (U_FAILURE(success))
|
||||
{
|
||||
errln("Default collation creation failed.");
|
||||
return;
|
||||
}
|
||||
col->setStrength(Collator::TERTIARY);
|
||||
|
||||
CollationKey sortk1, sortk2;
|
||||
UnicodeString test1("Abcda"), test2("abcda");
|
||||
|
@ -1175,6 +1182,10 @@ void CollationAPITest::TestMaxExpansion()
|
|||
|
||||
UnicodeString rule("&a < ab < c/aba < d < z < ch");
|
||||
RuleBasedCollator coll(rule, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Collator creation failed with error %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
UnicodeString str(ch);
|
||||
CollationElementIterator *iter =
|
||||
coll.createCollationElementIterator(str);
|
||||
|
@ -1410,6 +1421,11 @@ void CollationAPITest::TestVariableTopSetting() {
|
|||
UChar vt[256] = { 0 };
|
||||
|
||||
Collator *coll = Collator::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
delete coll;
|
||||
errln("Collator creation failed with error %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
|
||||
uint32_t oldVarTop = coll->getVariableTop(status);
|
||||
|
||||
|
@ -1484,6 +1500,12 @@ void CollationAPITest::TestGetLocale() {
|
|||
{
|
||||
Collator *defaultColl = Collator::createInstance(NULL, status);
|
||||
coll = Collator::createInstance("blahaha", status);
|
||||
if(U_FAILURE(status)) {
|
||||
log("Failed to open collator with %s\n", u_errorName(status));
|
||||
delete coll;
|
||||
delete defaultColl;
|
||||
return;
|
||||
}
|
||||
if(coll->getLocale(ULOC_REQUESTED_LOCALE, status) != "blahaha") {
|
||||
log("Nonexisting locale didn't preserve the requested locale\n");
|
||||
}
|
||||
|
@ -1539,6 +1561,11 @@ void CollationAPITest::TestBounds(void) {
|
|||
UErrorCode status = U_ZERO_ERROR;
|
||||
|
||||
Collator *coll = Collator::createInstance(Locale("sh"), status);
|
||||
if(U_FAILURE(status)) {
|
||||
delete coll;
|
||||
errln("Collator creation failed with %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
|
||||
uint8_t sortkey[512], lower[512], upper[512];
|
||||
UChar buffer[512];
|
||||
|
@ -1712,6 +1739,11 @@ void CollationAPITest::TestUClassID()
|
|||
UErrorCode status = U_ZERO_ERROR;
|
||||
RuleBasedCollator *coll
|
||||
= (RuleBasedCollator *)Collator::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
delete coll;
|
||||
errln("Collator creation failed with %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
id = *((char *)coll->getDynamicClassID());
|
||||
if (id != 0) {
|
||||
errln("Dynamic class id for RuleBasedCollator should be 0");
|
||||
|
|
|
@ -124,6 +124,11 @@ CalendarRegressionTest::test4100311()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *cal = (GregorianCalendar*)Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
failure(status, "Calendar::createInstance(status)");
|
||||
cal->set(UCAL_YEAR, 1997);
|
||||
cal->set(UCAL_DAY_OF_YEAR, 1);
|
||||
|
@ -142,6 +147,11 @@ CalendarRegressionTest::test4074758()
|
|||
{ //Set system time to between 12-1 (am or pm) and then run
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *cal = new GregorianCalendar(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
failure(status, "new GregorianCalendar");
|
||||
for (int32_t h=0; h<25; ++h) {
|
||||
cal->set(97, UCAL_JANUARY, 1, h, 34);
|
||||
|
@ -160,6 +170,11 @@ CalendarRegressionTest::test4028518()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *cal1 = new GregorianCalendar(status) ;
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete cal1;
|
||||
return;
|
||||
}
|
||||
failure(status, "new GregorianCalendar");
|
||||
GregorianCalendar *cal2 = (GregorianCalendar*) cal1->clone() ;
|
||||
|
||||
|
@ -291,6 +306,11 @@ void CalendarRegressionTest::test4051765()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Calendar *cal = Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
cal->setLenient(FALSE);
|
||||
cal->set(UCAL_DAY_OF_WEEK, 0);
|
||||
//try {
|
||||
|
@ -369,6 +389,11 @@ void CalendarRegressionTest::test4059524() {
|
|||
void CalendarRegressionTest::test4059654() {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *gc = new GregorianCalendar(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete gc;
|
||||
return;
|
||||
}
|
||||
|
||||
gc->set(1997, 3, 1, 15, 16, 17); // April 1, 1997
|
||||
|
||||
|
@ -396,6 +421,12 @@ void CalendarRegressionTest::test4061476()
|
|||
SimpleDateFormat *fmt = new SimpleDateFormat(UnicodeString("ddMMMyy"), Locale::getUK(),status);
|
||||
Calendar *cal = Calendar::createInstance(TimeZone::createTimeZone("GMT"),
|
||||
Locale::getUK(),status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete cal;
|
||||
delete fmt;
|
||||
return;
|
||||
}
|
||||
fmt->adoptCalendar(cal);
|
||||
// try {
|
||||
UDate date = fmt->parse("29MAY97", status);
|
||||
|
@ -420,8 +451,13 @@ void CalendarRegressionTest::test4061476()
|
|||
void CalendarRegressionTest::test4070502()
|
||||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
UDate d = getAssociatedDate(makeDate(1998,0,30), status);
|
||||
Calendar *cal = new GregorianCalendar(status);
|
||||
if(status == U_USING_FALLBACK_WARNING) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
UDate d = getAssociatedDate(makeDate(1998,0,30), status);
|
||||
cal->setTime(d,status);
|
||||
if (cal->get(UCAL_DAY_OF_WEEK,status) == UCAL_SATURDAY ||
|
||||
cal->get(UCAL_DAY_OF_WEEK,status) == UCAL_SUNDAY)
|
||||
|
@ -472,6 +508,11 @@ void CalendarRegressionTest::dowTest(UBool lenient)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *cal = new GregorianCalendar(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
cal->set(1997, UCAL_AUGUST, 12); // Wednesday
|
||||
// cal.getTime(); // Force update
|
||||
cal->setLenient(lenient);
|
||||
|
@ -497,6 +538,11 @@ void CalendarRegressionTest::test4071385()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Calendar *cal = Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
cal->setTime(makeDate(1998, UCAL_JUNE, 24),status);
|
||||
cal->set(UCAL_MONTH, UCAL_NOVEMBER); // change a field
|
||||
//logln(cal.getTime().toString());
|
||||
|
@ -513,6 +559,11 @@ void CalendarRegressionTest::test4073929()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *foo1 = new GregorianCalendar(1997, 8, 27,status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete foo1;
|
||||
return;
|
||||
}
|
||||
foo1->add(UCAL_DATE, + 1, status);
|
||||
int32_t testyear = foo1->get(UCAL_YEAR, status);
|
||||
int32_t testmonth = foo1->get(UCAL_MONTH, status);
|
||||
|
@ -537,6 +588,11 @@ void CalendarRegressionTest::test4083167()
|
|||
TimeZone::setDefault(*newZone);
|
||||
UDate firstDate = Calendar::getNow();
|
||||
Calendar *cal = new GregorianCalendar(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
cal->setTime(firstDate,status);
|
||||
int32_t hr = cal->get(UCAL_HOUR_OF_DAY, status);
|
||||
int32_t min = cal->get(UCAL_MINUTE, status);
|
||||
|
@ -582,6 +638,13 @@ void CalendarRegressionTest::test4086724()
|
|||
TimeZone::setDefault(*newZone);
|
||||
date = new SimpleDateFormat(UnicodeString("dd MMM yyy (zzzz) 'is in week' ww"),status);
|
||||
Calendar *cal = Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating Calendar: %s", u_errorName(status));
|
||||
delete cal;
|
||||
delete newZone;
|
||||
delete date;
|
||||
return;
|
||||
}
|
||||
cal->set(1997,UCAL_SEPTEMBER,30);
|
||||
UDate now = cal->getTime(status);
|
||||
UnicodeString temp;
|
||||
|
@ -753,6 +816,11 @@ void CalendarRegressionTest::test41003112()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *cal = (GregorianCalendar*)Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar: %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
cal->set(UCAL_YEAR, 1997);
|
||||
cal->set(UCAL_DAY_OF_YEAR, 1);
|
||||
//UDate d = cal->getTime(status); // Should be Jan 1
|
||||
|
@ -772,6 +840,11 @@ void CalendarRegressionTest::test4103271()
|
|||
int32_t numYears=40, startYear=1997, numDays=15;
|
||||
UnicodeString output, testDesc, str, str2;
|
||||
GregorianCalendar *testCal = (GregorianCalendar*)Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar: %s", u_errorName(status));
|
||||
delete testCal;
|
||||
return;
|
||||
}
|
||||
testCal->clear();
|
||||
sdf.adoptCalendar(testCal);
|
||||
sdf.applyPattern("EEE dd MMM yyyy 'WOY'ww'-'YYYY 'DOY'DDD");
|
||||
|
@ -1040,13 +1113,18 @@ void CalendarRegressionTest::test4106136()
|
|||
void CalendarRegressionTest::test4108764()
|
||||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Calendar *cal = Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
UDate d00 = makeDate(1997, UCAL_MARCH, 15, 12, 00, 00);
|
||||
UDate d01 = makeDate(1997, UCAL_MARCH, 15, 12, 00, 56);
|
||||
UDate d10 = makeDate(1997, UCAL_MARCH, 15, 12, 34, 00);
|
||||
UDate d11 = makeDate(1997, UCAL_MARCH, 15, 12, 34, 56);
|
||||
UDate epoch = makeDate(1970, UCAL_JANUARY, 1);
|
||||
|
||||
Calendar *cal = Calendar::createInstance(status);
|
||||
cal->setTime(d11,status);
|
||||
|
||||
cal->clear( UCAL_MINUTE );
|
||||
|
@ -1086,6 +1164,11 @@ void CalendarRegressionTest::test4114578()
|
|||
UErrorCode status = U_ZERO_ERROR;
|
||||
int32_t ONE_HOUR = 60*60*1000;
|
||||
Calendar *cal = Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
cal->adoptTimeZone(TimeZone::createTimeZone("PST"));
|
||||
UDate onset = makeDate(1998, UCAL_APRIL, 5, 1, 0) + ONE_HOUR;
|
||||
UDate cease = makeDate(1998, UCAL_OCTOBER, 25, 0, 0) + 2*ONE_HOUR;
|
||||
|
@ -1149,6 +1232,11 @@ void CalendarRegressionTest::test4118384()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Calendar *cal = Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
if (cal->getMaximum(UCAL_HOUR) != 11 ||
|
||||
cal->getLeastMaximum(UCAL_HOUR) != 11 ||
|
||||
cal->getActualMaximum(UCAL_HOUR,status) != 11)
|
||||
|
@ -1165,6 +1253,11 @@ void CalendarRegressionTest::test4125881()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *cal = (GregorianCalendar*) Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
DateFormat *fmt = new SimpleDateFormat(UnicodeString("MMMM d, yyyy G"),status);
|
||||
cal->clear();
|
||||
for (int32_t y=-20; y<=10; ++y) {
|
||||
|
@ -1189,6 +1282,11 @@ void CalendarRegressionTest::test4125881()
|
|||
void CalendarRegressionTest::test4125892() {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *cal = (GregorianCalendar*) Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
DateFormat *fmt = new SimpleDateFormat(UnicodeString("MMMM d, yyyy G"),status);
|
||||
cal->clear();
|
||||
cal->set(UCAL_ERA, GregorianCalendar::BC);
|
||||
|
@ -1214,6 +1312,11 @@ void CalendarRegressionTest::test4141665()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *cal = new GregorianCalendar(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
GregorianCalendar *cal2 = (GregorianCalendar*)cal->clone();
|
||||
UDate cut = cal->getGregorianChange();
|
||||
UDate cut2 = cut + 100*24*60*60*1000.0; // 100 days later
|
||||
|
@ -1238,6 +1341,11 @@ void CalendarRegressionTest::test4142933()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *calendar = new GregorianCalendar(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete calendar;
|
||||
return;
|
||||
}
|
||||
//try {
|
||||
calendar->roll((UCalendarDateFields)-1, TRUE, status);
|
||||
if(U_SUCCESS(status))
|
||||
|
@ -1267,6 +1375,11 @@ void CalendarRegressionTest::test4145158()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *calendar = new GregorianCalendar(status);
|
||||
if(status == U_USING_FALLBACK_WARNING || U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete calendar;
|
||||
return;
|
||||
}
|
||||
|
||||
calendar->adoptTimeZone(TimeZone::createTimeZone("GMT"));
|
||||
|
||||
|
@ -1301,6 +1414,11 @@ void CalendarRegressionTest::test4145983()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *calendar = new GregorianCalendar(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete calendar;
|
||||
return;
|
||||
}
|
||||
calendar->adoptTimeZone(TimeZone::createTimeZone("GMT"));
|
||||
UDate DATES [] = { LATEST_SUPPORTED_MILLIS, EARLIEST_SUPPORTED_MILLIS };
|
||||
for (int32_t i=0; i<2; ++i) {
|
||||
|
@ -1327,6 +1445,11 @@ void CalendarRegressionTest::test4147269()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *calendar = new GregorianCalendar(status);
|
||||
if(status == U_USING_FALLBACK_WARNING || U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete calendar;
|
||||
return;
|
||||
}
|
||||
calendar->setLenient(FALSE);
|
||||
UDate date = makeDate(1996, UCAL_JANUARY, 3); // Arbitrary date
|
||||
for (int32_t field = 0; field < UCAL_FIELD_COUNT; field++) {
|
||||
|
@ -1936,6 +2059,11 @@ void CalendarRegressionTest::TestJ438(void) {
|
|||
};
|
||||
int32_t DATA_length = (int32_t)(sizeof(DATA)/sizeof(DATA[0]));
|
||||
Calendar* pcal = Calendar::createInstance(Locale::getUS(), ec);
|
||||
if(U_FAILURE(ec)) {
|
||||
errln("Error creating calendar %s", u_errorName(ec));
|
||||
delete pcal;
|
||||
return;
|
||||
}
|
||||
Calendar& cal = *pcal;
|
||||
int32_t i;
|
||||
SimpleDateFormat fmt(UnicodeString("MMM dd yyyy",""), ec);
|
||||
|
|
|
@ -164,23 +164,27 @@ void CanonicalIteratorTest::TestBasic() {
|
|||
set->setValueDeleter(uhash_deleteUnicodeString);
|
||||
int32_t i = 0;
|
||||
CanonicalIterator it("", status);
|
||||
for (i = 0; i < ARRAY_LENGTH(testArray); ++i) {
|
||||
//logln("Results for: " + name.transliterate(testArray[i]));
|
||||
UnicodeString testStr = CharsToUnicodeString(testArray[i][0]);
|
||||
it.setSource(testStr, status);
|
||||
set->removeAll();
|
||||
while (TRUE) {
|
||||
//UnicodeString *result = new UnicodeString(it.next());
|
||||
UnicodeString result(it.next());
|
||||
if (result.isBogus()) {
|
||||
break;
|
||||
}
|
||||
set->put(result, new UnicodeString(result), status); // Add result to the table
|
||||
//logln(++counter + ": " + hex.transliterate(result));
|
||||
//logln(" = " + name.transliterate(result));
|
||||
}
|
||||
expectEqual(i + ": ", testStr, collectionToString(set), CharsToUnicodeString(testArray[i][1]));
|
||||
if(U_SUCCESS(status)) {
|
||||
for (i = 0; i < ARRAY_LENGTH(testArray); ++i) {
|
||||
//logln("Results for: " + name.transliterate(testArray[i]));
|
||||
UnicodeString testStr = CharsToUnicodeString(testArray[i][0]);
|
||||
it.setSource(testStr, status);
|
||||
set->removeAll();
|
||||
while (TRUE) {
|
||||
//UnicodeString *result = new UnicodeString(it.next());
|
||||
UnicodeString result(it.next());
|
||||
if (result.isBogus()) {
|
||||
break;
|
||||
}
|
||||
set->put(result, new UnicodeString(result), status); // Add result to the table
|
||||
//logln(++counter + ": " + hex.transliterate(result));
|
||||
//logln(" = " + name.transliterate(result));
|
||||
}
|
||||
expectEqual(i + ": ", testStr, collectionToString(set), CharsToUnicodeString(testArray[i][1]));
|
||||
|
||||
}
|
||||
} else {
|
||||
errln("Couldn't instantiate canonical iterator. Error: %s", u_errorName(status));
|
||||
}
|
||||
delete set;
|
||||
}
|
||||
|
@ -216,7 +220,9 @@ UnicodeString CanonicalIteratorTest::getReadable(const UnicodeString &s) {
|
|||
#endif
|
||||
UnicodeString sHex = s;
|
||||
#if !UCONFIG_NO_TRANSLITERATION
|
||||
hexTrans->transliterate(sHex);
|
||||
if(hexTrans) { // maybe there is no data and transliterator cannot be instantiated
|
||||
hexTrans->transliterate(sHex);
|
||||
}
|
||||
#endif
|
||||
result += sHex;
|
||||
result += "]";
|
||||
|
|
|
@ -148,7 +148,8 @@ void IntlTestDateFormatAPI::testAPI(/* char* par */)
|
|||
status = U_ZERO_ERROR;
|
||||
result2 = def->parse(text, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("ERROR: parse() failed");
|
||||
errln("ERROR: parse() failed, stopping testing");
|
||||
return;
|
||||
}
|
||||
logln(text + " parsed into " + result2);
|
||||
|
||||
|
@ -285,16 +286,20 @@ IntlTestDateFormatAPI::TestNameHiding(void) {
|
|||
logln("DecimalFormat");
|
||||
status = U_ZERO_ERROR;
|
||||
DecimalFormat fmt(status);
|
||||
// Format API
|
||||
fmt.format(numObj, str, status);
|
||||
fmt.format(numObj, str, fpos, status);
|
||||
// NumberFormat API
|
||||
fmt.format(2.71828, str);
|
||||
fmt.format((int32_t)1234567, str);
|
||||
fmt.format(1.41421, str, fpos);
|
||||
fmt.format((int32_t)9876543, str, fpos);
|
||||
fmt.parse(str, obj, ppos);
|
||||
fmt.parse(str, obj, status);
|
||||
if(U_SUCCESS(status)) {
|
||||
// Format API
|
||||
fmt.format(numObj, str, status);
|
||||
fmt.format(numObj, str, fpos, status);
|
||||
// NumberFormat API
|
||||
fmt.format(2.71828, str);
|
||||
fmt.format((int32_t)1234567, str);
|
||||
fmt.format(1.41421, str, fpos);
|
||||
fmt.format((int32_t)9876543, str, fpos);
|
||||
fmt.parse(str, obj, ppos);
|
||||
fmt.parse(str, obj, status);
|
||||
} else {
|
||||
errln("FAIL: Couldn't instantiate DecimalFormat, error %s. Quitting test", u_errorName(status));
|
||||
}
|
||||
}
|
||||
|
||||
// ChoiceFormat calling Format & NumberFormat API
|
||||
|
|
|
@ -368,6 +368,11 @@ void DateFormatRegressionTest::Test4061287(void)
|
|||
UErrorCode status = U_ZERO_ERROR;
|
||||
|
||||
SimpleDateFormat *df = new SimpleDateFormat(UnicodeString("dd/MM/yyyy"), status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Couldn't create SimpleDateFormat, error: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new SimpleDateFormat");
|
||||
//try {
|
||||
logln(UnicodeString("") + df->parse("35/01/1971", status));
|
||||
|
@ -477,6 +482,12 @@ void DateFormatRegressionTest::Test4071441(void)
|
|||
// {sfb} Is it OK to cast away const here?
|
||||
Calendar *calA = (Calendar*) fmtA->getCalendar();
|
||||
Calendar *calB = (Calendar*) fmtB->getCalendar();
|
||||
if(!calA || !calB) {
|
||||
errln("Couldn't get proper calendars, exiting");
|
||||
delete fmtA;
|
||||
delete fmtB;
|
||||
return;
|
||||
}
|
||||
UDate epoch = date(0, 0, 0);
|
||||
UDate xmas = date(61, UCAL_DECEMBER, 25);
|
||||
|
||||
|
@ -559,6 +570,13 @@ void DateFormatRegressionTest::Test4089106(void)
|
|||
TimeZone::setDefault(*z);
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
SimpleDateFormat *f = new SimpleDateFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Couldn't create SimpleDateFormat, error %s", u_errorName(status));
|
||||
delete f;
|
||||
delete def;
|
||||
delete z;
|
||||
return;
|
||||
}
|
||||
failure(status, "new SimpleDateFormat");
|
||||
if (f->getTimeZone()!= *z)
|
||||
errln("Fail: SimpleTimeZone should use TimeZone.getDefault()");
|
||||
|
@ -714,6 +732,11 @@ void DateFormatRegressionTest::Test4103341(void)
|
|||
TimeZone::adoptDefault(TimeZone::createTimeZone("CST"));
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
SimpleDateFormat *simple = new SimpleDateFormat(UnicodeString("MM/dd/yyyy HH:mm"), status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Couldn't create SimpleDateFormat, error %s", u_errorName(status));
|
||||
delete simple;
|
||||
return;
|
||||
}
|
||||
failure(status, "new SimpleDateFormat");
|
||||
TimeZone *temp = TimeZone::createDefault();
|
||||
if(simple->getTimeZone() != *temp)
|
||||
|
@ -734,6 +757,11 @@ void DateFormatRegressionTest::Test4104136(void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
SimpleDateFormat *sdf = new SimpleDateFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Couldn't create SimpleDateFormat, error %s", u_errorName(status));
|
||||
delete sdf;
|
||||
return;
|
||||
}
|
||||
failure(status, "new SimpleDateFormat");
|
||||
UnicodeString pattern = "'time' hh:mm";
|
||||
sdf->applyPattern(pattern);
|
||||
|
@ -794,6 +822,11 @@ void DateFormatRegressionTest::Test4104522(void)
|
|||
UErrorCode status = U_ZERO_ERROR;
|
||||
|
||||
SimpleDateFormat *sdf = new SimpleDateFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Couldn't create SimpleDateFormat, error %s", u_errorName(status));
|
||||
delete sdf;
|
||||
return;
|
||||
}
|
||||
failure(status, "new SimpleDateFormat");
|
||||
UnicodeString pattern = "'time' hh:mm";
|
||||
sdf->applyPattern(pattern);
|
||||
|
@ -832,6 +865,16 @@ void DateFormatRegressionTest::Test4106807(void)
|
|||
new SimpleDateFormat(UnicodeString("yyyyMMddHHmmss'a''a'"), status),
|
||||
new SimpleDateFormat(UnicodeString("yyyyMMddHHmmss %"), status)
|
||||
};
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Couldn't create SimpleDateFormat, error %s", u_errorName(status));
|
||||
delete sdfs[0];
|
||||
delete sdfs[1];
|
||||
delete sdfs[2];
|
||||
delete sdfs[3];
|
||||
delete sdfs[4];
|
||||
return;
|
||||
}
|
||||
|
||||
failure(status, "new SimpleDateFormat");
|
||||
|
||||
UnicodeString strings [] = {
|
||||
|
|
|
@ -695,6 +695,11 @@ DateFormatTest::TestBadInput135a()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
SimpleDateFormat* dateParse = new SimpleDateFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Failed creating SimpleDateFormat with %s. Quitting test", u_errorName(status));
|
||||
delete dateParse;
|
||||
return;
|
||||
}
|
||||
const char* s;
|
||||
UDate date;
|
||||
const uint32_t PF_LENGTH = (int32_t)(sizeof(parseFormats)/sizeof(parseFormats[0]));
|
||||
|
@ -812,6 +817,11 @@ DateFormatTest::TestDateFormatZone061()
|
|||
date= 859248000000.0;
|
||||
logln((UnicodeString)"Date 1997/3/25 00:00 GMT: " + date);
|
||||
formatter = new SimpleDateFormat((UnicodeString)"dd-MMM-yyyyy HH:mm", Locale::getUK(), status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Failed creating SimpleDateFormat with %s. Quitting test", u_errorName(status));
|
||||
delete formatter;
|
||||
return;
|
||||
}
|
||||
formatter->adoptTimeZone(TimeZone::createTimeZone("GMT"));
|
||||
UnicodeString temp; formatter->format(date, temp);
|
||||
logln((UnicodeString)"Formatted in GMT to: " + temp);
|
||||
|
|
|
@ -318,11 +318,16 @@ void CollationEnglishTest::TestSecondary(/* char* par */)
|
|||
void CollationEnglishTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ )
|
||||
{
|
||||
if (exec) logln("TestSuite CollationEnglishTest: ");
|
||||
switch (index) {
|
||||
case 0: name = "TestPrimary"; if (exec) TestPrimary(/* par */); break;
|
||||
case 1: name = "TestSecondary"; if (exec) TestSecondary(/* par */); break;
|
||||
case 2: name = "TestTertiary"; if (exec) TestTertiary(/* par */); break;
|
||||
default: name = ""; break;
|
||||
if(myCollation) {
|
||||
switch (index) {
|
||||
case 0: name = "TestPrimary"; if (exec) TestPrimary(/* par */); break;
|
||||
case 1: name = "TestSecondary"; if (exec) TestSecondary(/* par */); break;
|
||||
case 2: name = "TestTertiary"; if (exec) TestTertiary(/* par */); break;
|
||||
default: name = ""; break;
|
||||
}
|
||||
} else {
|
||||
errln("Collator couldn't be instantiated!");
|
||||
name = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -99,6 +99,11 @@ void G7CollationTest::TestG7Locales(/* char* par */)
|
|||
RuleBasedCollator* tblColl1 = 0;
|
||||
|
||||
myCollation = Collator::createInstance(locales[i], status);
|
||||
if(U_FAILURE(status)) {
|
||||
delete myCollation;
|
||||
errln("Couldn't instantiate collator. Error: %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
myCollation->setStrength(Collator::QUATERNARY);
|
||||
myCollation->setAttribute(UCOL_ALTERNATE_HANDLING, UCOL_SHIFTED, status);
|
||||
if (U_FAILURE(status))
|
||||
|
@ -154,6 +159,11 @@ void G7CollationTest::TestDemo1(/* char* par */)
|
|||
logln("Demo Test 1 : Create a new table collation with rules \"& Z < p, P\"");
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Collator *col = Collator::createInstance("en_US", status);
|
||||
if(U_FAILURE(status)) {
|
||||
delete col;
|
||||
errln("Couldn't instantiate collator. Error: %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
const UnicodeString baseRules = ((RuleBasedCollator*)col)->getRules();
|
||||
UnicodeString newRules(" & Z < p, P");
|
||||
newRules.insert(0, baseRules);
|
||||
|
@ -183,6 +193,11 @@ void G7CollationTest::TestDemo2(/* char* par */)
|
|||
logln("Demo Test 2 : Create a new table collation with rules \"& C < ch , cH, Ch, CH\"");
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Collator *col = Collator::createInstance("en_US", status);
|
||||
if(U_FAILURE(status)) {
|
||||
delete col;
|
||||
errln("Couldn't instantiate collator. Error: %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
const UnicodeString baseRules = ((RuleBasedCollator*)col)->getRules();
|
||||
UnicodeString newRules("& C < ch , cH, Ch, CH");
|
||||
newRules.insert(0, baseRules);
|
||||
|
@ -212,6 +227,11 @@ void G7CollationTest::TestDemo3(/* char* par */)
|
|||
logln("Demo Test 3 : Create a new table collation with rules \"& Question'-'mark ; '?' & Hash'-'mark ; '#' & Ampersand ; '&'\"");
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Collator *col = Collator::createInstance("en_US", status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Couldn't instantiate collator. Error: %s", u_errorName(status));
|
||||
delete col;
|
||||
return;
|
||||
}
|
||||
const UnicodeString baseRules = ((RuleBasedCollator*)col)->getRules();
|
||||
UnicodeString newRules = "& Question'-'mark ; '?' & Hash'-'mark ; '#' & Ampersand ; '&'";
|
||||
newRules.insert(0, baseRules);
|
||||
|
@ -241,17 +261,17 @@ void G7CollationTest::TestDemo4(/* char* par */)
|
|||
logln("Demo Test 4 : Create a new table collation with rules \" & aa ; a'-' & ee ; e'-' & ii ; i'-' & oo ; o'-' & uu ; u'-' \"");
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Collator *col = Collator::createInstance("en_US", status);
|
||||
if(U_FAILURE(status)) {
|
||||
delete col;
|
||||
errln("Couldn't instantiate collator. Error: %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
|
||||
const UnicodeString baseRules = ((RuleBasedCollator*)col)->getRules();
|
||||
UnicodeString newRules = " & aa ; a'-' & ee ; e'-' & ii ; i'-' & oo ; o'-' & uu ; u'-' ";
|
||||
newRules.insert(0, baseRules);
|
||||
RuleBasedCollator *myCollation = new RuleBasedCollator(newRules, status);
|
||||
|
||||
if (U_FAILURE(status))
|
||||
{
|
||||
errln( "Demo Test 4 Table Collation object creation failed." );
|
||||
return;
|
||||
}
|
||||
|
||||
int32_t j, n;
|
||||
for (j = 0; j < TOTALTESTSET; j++)
|
||||
{
|
||||
|
|
|
@ -51,7 +51,7 @@ NamePrepTransform* TestIDNA::getInstance(UErrorCode& status){
|
|||
UParseError parseError;
|
||||
TestIDNA::prep = NamePrepTransform::createInstance(parseError, status);
|
||||
if(TestIDNA::prep ==NULL){
|
||||
status = U_MEMORY_ALLOCATION_ERROR;
|
||||
//status = U_MEMORY_ALLOCATION_ERROR;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/********************************************************************
|
||||
* COPYRIGHT:
|
||||
* Copyright (c) 1997-2001, International Business Machines Corporation and
|
||||
* Copyright (c) 1997-2003, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
********************************************************************/
|
||||
|
||||
|
@ -27,6 +27,13 @@ CollationIteratorTest::CollationIteratorTest()
|
|||
test2("has the highest probability of detecting", "")
|
||||
{
|
||||
en_us = (RuleBasedCollator *)Collator::createInstance(Locale::getUS(), status);
|
||||
if(U_FAILURE(status)) {
|
||||
delete en_us;
|
||||
en_us = 0;
|
||||
errln("Collator creation failed with %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
CollationIteratorTest::~CollationIteratorTest()
|
||||
|
@ -606,18 +613,23 @@ void CollationIteratorTest::runIndexedTest(int32_t index, UBool exec, const char
|
|||
logln("Collation Iteration Tests: ");
|
||||
}
|
||||
|
||||
switch (index)
|
||||
{
|
||||
case 0: name = "TestPrevious"; if (exec) TestPrevious(/* par */); break;
|
||||
case 1: name = "TestOffset"; if (exec) TestOffset(/* par */); break;
|
||||
case 2: name = "TestSetText"; if (exec) TestSetText(/* par */); break;
|
||||
case 3: name = "TestMaxExpansion"; if (exec) TestMaxExpansion(/* par */); break;
|
||||
case 4: name = "TestClearBuffers"; if (exec) TestClearBuffers(/* par */); break;
|
||||
case 5: name = "TestUnicodeChar"; if (exec) TestUnicodeChar(/* par */); break;
|
||||
case 6: name = "TestAssignment"; if (exec) TestAssignment(/* par */); break;
|
||||
case 7: name = "TestConstructors"; if (exec) TestConstructors(/* par */); break;
|
||||
case 8: name = "TestStrengthOrder"; if (exec) TestStrengthOrder(/* par */); break;
|
||||
default: name = ""; break;
|
||||
if(en_us) {
|
||||
switch (index)
|
||||
{
|
||||
case 0: name = "TestPrevious"; if (exec) TestPrevious(/* par */); break;
|
||||
case 1: name = "TestOffset"; if (exec) TestOffset(/* par */); break;
|
||||
case 2: name = "TestSetText"; if (exec) TestSetText(/* par */); break;
|
||||
case 3: name = "TestMaxExpansion"; if (exec) TestMaxExpansion(/* par */); break;
|
||||
case 4: name = "TestClearBuffers"; if (exec) TestClearBuffers(/* par */); break;
|
||||
case 5: name = "TestUnicodeChar"; if (exec) TestUnicodeChar(/* par */); break;
|
||||
case 6: name = "TestAssignment"; if (exec) TestAssignment(/* par */); break;
|
||||
case 7: name = "TestConstructors"; if (exec) TestConstructors(/* par */); break;
|
||||
case 8: name = "TestStrengthOrder"; if (exec) TestStrengthOrder(/* par */); break;
|
||||
default: name = ""; break;
|
||||
}
|
||||
} else {
|
||||
errln("Class iterator not instantiated");
|
||||
name = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -180,14 +180,19 @@ void CollationKanaTest::TestChooonKigoo(void)
|
|||
void CollationKanaTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ )
|
||||
{
|
||||
if (exec) logln("TestSuite CollationKanaTest: ");
|
||||
switch (index) {
|
||||
case 0: name = "TestTertiary"; if (exec) TestTertiary(/* par */); break;
|
||||
case 1: name = "TestBase"; if (exec) TestBase(/* par */); break;
|
||||
case 2: name = "TestSmallLarge"; if (exec) TestSmallLarge(/* par */); break;
|
||||
case 3: name = "TestTestPlainDakutenHandakuten"; if (exec) TestPlainDakutenHandakuten(/* par */); break;
|
||||
case 4: name = "TestKatakanaHiragana"; if (exec) TestKatakanaHiragana(/* par */); break;
|
||||
case 5: name = "TestChooonKigoo"; if (exec) TestChooonKigoo(/* par */); break;
|
||||
default: name = ""; break;
|
||||
if(myCollation) {
|
||||
switch (index) {
|
||||
case 0: name = "TestTertiary"; if (exec) TestTertiary(/* par */); break;
|
||||
case 1: name = "TestBase"; if (exec) TestBase(/* par */); break;
|
||||
case 2: name = "TestSmallLarge"; if (exec) TestSmallLarge(/* par */); break;
|
||||
case 3: name = "TestTestPlainDakutenHandakuten"; if (exec) TestPlainDakutenHandakuten(/* par */); break;
|
||||
case 4: name = "TestKatakanaHiragana"; if (exec) TestKatakanaHiragana(/* par */); break;
|
||||
case 5: name = "TestChooonKigoo"; if (exec) TestChooonKigoo(/* par */); break;
|
||||
default: name = ""; break;
|
||||
}
|
||||
} else {
|
||||
errln("Collator couldn't be instantiated!");
|
||||
name = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -33,7 +33,14 @@ LotusCollationKoreanTest::LotusCollationKoreanTest()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
myCollation = Collator::createInstance("ko_kr", status);
|
||||
myCollation->setAttribute(UCOL_NORMALIZATION_MODE, UCOL_ON, status);
|
||||
if(U_SUCCESS(status)) {
|
||||
myCollation->setAttribute(UCOL_NORMALIZATION_MODE, UCOL_ON, status);
|
||||
} else {
|
||||
errln("Couldn't instantiate the collator with %s", u_errorName(status));
|
||||
delete myCollation;
|
||||
myCollation = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
LotusCollationKoreanTest::~LotusCollationKoreanTest()
|
||||
|
@ -67,9 +74,14 @@ void LotusCollationKoreanTest::TestTertiary(/* char* par */)
|
|||
void LotusCollationKoreanTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ )
|
||||
{
|
||||
if (exec) logln("TestSuite LotusCollationKoreanTest: ");
|
||||
switch (index) {
|
||||
case 0: name = "TestTertiary"; if (exec) TestTertiary(/* par */); break;
|
||||
default: name = ""; break;
|
||||
if(myCollation) {
|
||||
switch (index) {
|
||||
case 0: name = "TestTertiary"; if (exec) TestTertiary(/* par */); break;
|
||||
default: name = ""; break;
|
||||
}
|
||||
} else {
|
||||
errln("Class collator not instantiated");
|
||||
name = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -315,6 +315,11 @@ DateFormatMiscTests::test4117335()
|
|||
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DateFormatSymbols *symbols = new DateFormatSymbols(Locale::getJapan(), status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Failure creating DateFormatSymbols, %s", u_errorName(status));
|
||||
delete symbols;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DateFormatSymbols");
|
||||
int32_t eraCount = 0;
|
||||
const UnicodeString *eras = symbols->getEras(eraCount);
|
||||
|
|
|
@ -253,11 +253,16 @@ void CollationMonkeyTest::TestRules(/* char* par */){
|
|||
void CollationMonkeyTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ )
|
||||
{
|
||||
if (exec) logln("TestSuite CollationMonkeyTest: ");
|
||||
switch (index) {
|
||||
case 0: name = "TestCompare"; if (exec) TestCompare(/* par */); break;
|
||||
case 1: name = "TestCollationKey"; if (exec) TestCollationKey(/* par */); break;
|
||||
case 2: name = "TestRules"; if (exec) TestRules(/* par */); break;
|
||||
default: name = ""; break;
|
||||
if(myCollator) {
|
||||
switch (index) {
|
||||
case 0: name = "TestCompare"; if (exec) TestCompare(/* par */); break;
|
||||
case 1: name = "TestCollationKey"; if (exec) TestCollationKey(/* par */); break;
|
||||
case 2: name = "TestRules"; if (exec) TestRules(/* par */); break;
|
||||
default: name = ""; break;
|
||||
}
|
||||
} else {
|
||||
errln("Class collator not instantiated");
|
||||
name = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -160,6 +160,7 @@ void NormalizerConformanceTest::TestConformance(FileStream *input, int32_t optio
|
|||
enum { BUF_SIZE = 1024 };
|
||||
char lineBuf[BUF_SIZE];
|
||||
UnicodeString fields[FIELD_COUNT];
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
int32_t passCount = 0;
|
||||
int32_t failCount = 0;
|
||||
UChar32 c;
|
||||
|
@ -218,10 +219,14 @@ void NormalizerConformanceTest::TestConformance(FileStream *input, int32_t optio
|
|||
other.remove(c);
|
||||
}
|
||||
|
||||
if (checkConformance(fields, lineBuf, options)) {
|
||||
if (checkConformance(fields, lineBuf, options, status)) {
|
||||
++passCount;
|
||||
} else {
|
||||
++failCount;
|
||||
if(status == U_FILE_ACCESS_ERROR) {
|
||||
errln("Something is wrong with the normalizer, skipping the rest of the test.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((count % 1000) == 0) {
|
||||
logln("Line %d", count);
|
||||
|
@ -250,10 +255,14 @@ void NormalizerConformanceTest::TestConformance(FileStream *input, int32_t optio
|
|||
fields[0]=fields[1]=fields[2]=fields[3]=fields[4].setTo(c);
|
||||
sprintf(lineBuf, "not mentioned code point U+%04lx", (long)c);
|
||||
|
||||
if (checkConformance(fields, lineBuf, options)) {
|
||||
if (checkConformance(fields, lineBuf, options, status)) {
|
||||
++passCount;
|
||||
} else {
|
||||
++failCount;
|
||||
if(status == U_FILE_ACCESS_ERROR) {
|
||||
errln("Something is wrong with the normalizer, skipping the rest of the test.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((c % 0x1000) == 0) {
|
||||
logln("Code point U+%04lx", c);
|
||||
|
@ -285,9 +294,10 @@ void NormalizerConformanceTest::TestConformance(FileStream *input, int32_t optio
|
|||
*/
|
||||
UBool NormalizerConformanceTest::checkConformance(const UnicodeString* field,
|
||||
const char *line,
|
||||
int32_t options) {
|
||||
int32_t options,
|
||||
UErrorCode &status) {
|
||||
UBool pass = TRUE, result;
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
//UErrorCode status = U_ZERO_ERROR;
|
||||
UnicodeString out, fcd;
|
||||
int32_t fieldNum;
|
||||
|
||||
|
@ -558,11 +568,12 @@ void NormalizerConformanceTest::TestCase6(void) {
|
|||
}
|
||||
|
||||
void NormalizerConformanceTest::_testOneLine(const char *line) {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
UnicodeString fields[FIELD_COUNT];
|
||||
if (!hexsplit(line, ';', fields, FIELD_COUNT)) {
|
||||
errln((UnicodeString)"Unable to parse line " + line);
|
||||
} else {
|
||||
checkConformance(fields, line, 0);
|
||||
checkConformance(fields, line, 0, status);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -58,7 +58,8 @@ class NormalizerConformanceTest : public IntlTest {
|
|||
*/
|
||||
UBool checkConformance(const UnicodeString* field,
|
||||
const char *line,
|
||||
int32_t options);
|
||||
int32_t options,
|
||||
UErrorCode &status);
|
||||
|
||||
void iterativeNorm(const UnicodeString& str,
|
||||
UNormalizationMode mode, int32_t options,
|
||||
|
|
|
@ -67,6 +67,9 @@ NamePrepTransform::NamePrepTransform(UParseError& parseError, UErrorCode& status
|
|||
|
||||
mapping = Transliterator::createFromRules(UnicodeString("NamePrepTransform", ""), rule,
|
||||
UTRANS_FORWARD, parseError,status);
|
||||
if(U_FAILURE(status)) {
|
||||
return;
|
||||
}
|
||||
|
||||
//create the unassigned set
|
||||
int32_t patternLen =0;
|
||||
|
|
|
@ -1166,6 +1166,10 @@ void NumberFormatTest::TestRegCurrency(void) {
|
|||
UErrorCode status = U_ZERO_ERROR;
|
||||
const UChar* USD = ucurr_forLocale("en_US", &status);
|
||||
const UChar* YEN = ucurr_forLocale("ja_JP", &status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Unable to get currency for locale, error %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
|
||||
UCurrRegistryKey enkey = ucurr_register(YEN, "en_US", &status);
|
||||
UCurrRegistryKey enUSEUROkey = ucurr_register(EUR, "en_US_EURO", &status);
|
||||
|
|
|
@ -377,6 +377,11 @@ void NumberFormatRegressionTest::Test4086575(void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
NumberFormat *nf1 = NumberFormat::createInstance(Locale::getFrance(), status);
|
||||
if(status == U_USING_FALLBACK_WARNING) {
|
||||
errln("Something is wrong with French number format - it should not fallback. Exitting");
|
||||
delete nf1;
|
||||
return;
|
||||
}
|
||||
failure(status, "NumberFormat::createInstance");
|
||||
|
||||
// C++ workaround to make sure cast works
|
||||
|
@ -452,6 +457,11 @@ void NumberFormatRegressionTest::Test4068693(void)
|
|||
ParsePosition pos(0);
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *df = new DecimalFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
Formattable d;
|
||||
//Double d = (Double)df.parse("123.55456", pos=new ParsePosition(0));
|
||||
|
@ -503,6 +513,11 @@ void NumberFormatRegressionTest::Test4087251 (void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *df = new DecimalFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
//try {
|
||||
df->applyPattern(UnicodeString("#.#.#"), status);
|
||||
|
@ -564,6 +579,11 @@ void NumberFormatRegressionTest::Test4090504 (void)
|
|||
logln(UnicodeString("d = ") + d);
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *df = new DecimalFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
UnicodeString sb;
|
||||
FieldPosition fp(FieldPosition::DONT_CARE);
|
||||
|
@ -588,6 +608,11 @@ void NumberFormatRegressionTest::Test4095713 (void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *df = new DecimalFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFOrmat");
|
||||
UnicodeString str("0.1234");
|
||||
double d1 = 0.1234;
|
||||
|
@ -610,6 +635,11 @@ void NumberFormatRegressionTest::Test4092561 (void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *df = new DecimalFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
|
||||
// {sfb} going to cheat here and use sprintf ??
|
||||
|
@ -631,6 +661,11 @@ void NumberFormatRegressionTest::Test4092480 (void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *dfFoo = new DecimalFormat(UnicodeString("000"), status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete dfFoo;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
|
||||
//try {
|
||||
|
@ -680,6 +715,11 @@ void NumberFormatRegressionTest::Test4087244 (void) {
|
|||
Locale *de = new Locale("pt","PT_PREEURO");
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
NumberFormat *nf = NumberFormat::createCurrencyInstance(*de, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete nf;
|
||||
return;
|
||||
}
|
||||
if (nf->getDynamicClassID() != DecimalFormat::getStaticClassID()) {
|
||||
errln("expected DecimalFormat!");
|
||||
return;
|
||||
|
@ -740,6 +780,11 @@ void NumberFormatRegressionTest::Test4070798 (void)
|
|||
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
formatter = NumberFormat::createInstance(Locale("fr_FR_PREEURO"), status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete formatter;
|
||||
return;
|
||||
}
|
||||
failure(status, "NumberFormat::createNumberInstance");
|
||||
tempString = formatter->format (-5789.9876, tempString);
|
||||
|
||||
|
@ -1036,6 +1081,11 @@ void NumberFormatRegressionTest::Test4074454(void)
|
|||
//try {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *fmt = new DecimalFormat("#,#00.00;-#.#", status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete fmt;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
logln("Inconsistent negative pattern is fine.");
|
||||
DecimalFormat *newFmt = new DecimalFormat("#,#00.00 p''ieces;-#,#00.00 p''ieces", status);
|
||||
|
@ -1100,6 +1150,11 @@ void NumberFormatRegressionTest::Test4101481(void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *sdf = new DecimalFormat(UnicodeString("#,##0"), status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete sdf;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
if (sdf->getMinimumIntegerDigits() != 1)
|
||||
errln("Minimum integer digits : " + sdf->getMinimumIntegerDigits());
|
||||
|
@ -1113,6 +1168,11 @@ void NumberFormatRegressionTest::Test4052223(void)
|
|||
//try {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *fmt = new DecimalFormat(UnicodeString("#,#00.00"), status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete fmt;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
Formattable num;
|
||||
fmt->parse(UnicodeString("abc3"), num, status);
|
||||
|
@ -1192,6 +1252,11 @@ void NumberFormatRegressionTest::Test4108738(void)
|
|||
DecimalFormatSymbols *syms = new DecimalFormatSymbols(Locale::getUS(), status);
|
||||
failure(status, "new DecimalFormatSymbols");
|
||||
DecimalFormat *df = new DecimalFormat("#,##0.###", syms, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
UnicodeString text("1.222,111");
|
||||
Formattable num;
|
||||
|
@ -1226,6 +1291,11 @@ void NumberFormatRegressionTest::Test4106658(void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *df = new DecimalFormat(status); // Corrected; see 4147706
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
volatile double d1 = 0.0; // volatile to prevent code optimization
|
||||
double d2 = -0.0001;
|
||||
|
@ -1257,6 +1327,11 @@ void NumberFormatRegressionTest::Test4106662(void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *df = new DecimalFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
UnicodeString text("x");
|
||||
ParsePosition pos1(0), pos2(0);
|
||||
|
@ -1286,6 +1361,11 @@ void NumberFormatRegressionTest::Test4114639(void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
NumberFormat *format = NumberFormat::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete format;
|
||||
return;
|
||||
}
|
||||
failure(status, "NumberFormat::createInstance");
|
||||
UnicodeString text("time 10:x");
|
||||
ParsePosition pos(8);
|
||||
|
@ -1306,6 +1386,11 @@ void NumberFormatRegressionTest::Test4106664(void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *df = new DecimalFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
// {sfb} long in java is 64 bits
|
||||
/*long*/double n = 1234567890123456.0;
|
||||
|
@ -1335,6 +1420,11 @@ void NumberFormatRegressionTest::Test4106667(void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
DecimalFormat *df = new DecimalFormat(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete df;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
UChar foo [] = { 0x002B };
|
||||
UnicodeString bar(foo, 1, 1);
|
||||
|
@ -1370,6 +1460,11 @@ void NumberFormatRegressionTest::Test4110936(void)
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
NumberFormat *nf = NumberFormat::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete nf;
|
||||
return;
|
||||
}
|
||||
failure(status, "NumberFormat::createInstance");
|
||||
nf->setMaximumIntegerDigits(MAX_INT_DIGITS);
|
||||
logln("setMaximumIntegerDigits(MAX_INT_DIGITS)");
|
||||
|
@ -1485,6 +1580,11 @@ void NumberFormatRegressionTest::Test4125885(void)
|
|||
UErrorCode status = U_ZERO_ERROR;
|
||||
double rate = 12.34;
|
||||
DecimalFormat *formatDec = new DecimalFormat ("000.00", status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating DecimalFormat: %s", u_errorName(status));
|
||||
delete formatDec;
|
||||
return;
|
||||
}
|
||||
failure(status, "new DecimalFormat");
|
||||
UnicodeString temp;
|
||||
logln("toPattern: " + formatDec->toPattern(temp));
|
||||
|
|
|
@ -1426,6 +1426,7 @@ void RBBITest::TestExtended() {
|
|||
}
|
||||
|
||||
errln("line %d: Tag expected in test file.", lineNum);
|
||||
goto end_test;
|
||||
parseState = PARSE_COMMENT;
|
||||
savedState = PARSE_DATA;
|
||||
}
|
||||
|
@ -1603,6 +1604,7 @@ void RBBITest::TestExtended() {
|
|||
|
||||
errln("Syntax Error in test file at line %d, col %d",
|
||||
lineNum, column);
|
||||
goto end_test;
|
||||
parseState = PARSE_COMMENT;
|
||||
break;
|
||||
}
|
||||
|
@ -1611,11 +1613,13 @@ void RBBITest::TestExtended() {
|
|||
if (U_FAILURE(status)) {
|
||||
errln("ICU Error %s while parsing test file at line %d.",
|
||||
u_errorName(status), lineNum);
|
||||
goto end_test;
|
||||
status = U_ZERO_ERROR;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
end_test:
|
||||
delete tp.bi;
|
||||
delete tp.expectedBreaks;
|
||||
delete tp.srcLine;
|
||||
|
@ -2131,7 +2135,12 @@ private:
|
|||
};
|
||||
|
||||
|
||||
RBBIWordMonkey::RBBIWordMonkey() {
|
||||
RBBIWordMonkey::RBBIWordMonkey() : fMungedText(0),
|
||||
fMungedPositions(0),
|
||||
fOrigPositions(0),
|
||||
fGCFMatcher(0),
|
||||
fGCMatcher(0)
|
||||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
|
||||
fSets = new UVector(status);
|
||||
|
@ -2149,8 +2158,12 @@ RBBIWordMonkey::RBBIWordMonkey() {
|
|||
fNumericSet = new UnicodeSet("[\\p{Line_Break=Numeric}]", status);
|
||||
fFormatSet = new UnicodeSet("[\\p{Format}]", status);
|
||||
fExtendSet = new UnicodeSet("[\\p{Grapheme_Extend}]", status);
|
||||
|
||||
fOtherSet = new UnicodeSet();
|
||||
if(U_FAILURE(status)) {
|
||||
deferredStatus = status;
|
||||
return;
|
||||
}
|
||||
|
||||
fOtherSet->complement();
|
||||
fOtherSet->removeAll(*fKatakanaSet);
|
||||
fOtherSet->removeAll(*fALetterSet);
|
||||
|
|
|
@ -22,6 +22,12 @@ CollationRegressionTest::CollationRegressionTest()
|
|||
UErrorCode status = U_ZERO_ERROR;
|
||||
|
||||
en_us = (RuleBasedCollator *)Collator::createInstance(Locale::getUS(), status);
|
||||
if(U_FAILURE(status)) {
|
||||
delete en_us;
|
||||
en_us = 0;
|
||||
errln("Collator creation failed with %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
CollationRegressionTest::~CollationRegressionTest()
|
||||
|
@ -1164,40 +1170,45 @@ void CollationRegressionTest::runIndexedTest(int32_t index, UBool exec, const ch
|
|||
logln("Collation Regression Tests: ");
|
||||
}
|
||||
|
||||
switch (index)
|
||||
{
|
||||
case 0: name = "Test4048446"; if (exec) Test4048446(/* par */); break;
|
||||
case 1: name = "Test4051866"; if (exec) Test4051866(/* par */); break;
|
||||
case 2: name = "Test4053636"; if (exec) Test4053636(/* par */); break;
|
||||
case 3: name = "Test4054238"; if (exec) Test4054238(/* par */); break;
|
||||
case 4: name = "Test4054734"; if (exec) Test4054734(/* par */); break;
|
||||
case 5: name = "Test4054736"; if (exec) Test4054736(/* par */); break;
|
||||
case 6: name = "Test4058613"; if (exec) Test4058613(/* par */); break;
|
||||
case 7: name = "Test4059820"; if (exec) Test4059820(/* par */); break;
|
||||
case 8: name = "Test4060154"; if (exec) Test4060154(/* par */); break;
|
||||
case 9: name = "Test4062418"; if (exec) Test4062418(/* par */); break;
|
||||
case 10: name = "Test4065540"; if (exec) Test4065540(/* par */); break;
|
||||
case 11: name = "Test4066189"; if (exec) Test4066189(/* par */); break;
|
||||
case 12: name = "Test4066696"; if (exec) Test4066696(/* par */); break;
|
||||
case 13: name = "Test4076676"; if (exec) Test4076676(/* par */); break;
|
||||
case 14: name = "Test4078588"; if (exec) Test4078588(/* par */); break;
|
||||
case 15: name = "Test4079231"; if (exec) Test4079231(/* par */); break;
|
||||
case 16: name = "Test4081866"; if (exec) Test4081866(/* par */); break;
|
||||
case 17: name = "Test4087241"; if (exec) Test4087241(/* par */); break;
|
||||
case 18: name = "Test4087243"; if (exec) Test4087243(/* par */); break;
|
||||
case 19: name = "Test4092260"; if (exec) Test4092260(/* par */); break;
|
||||
case 20: name = "Test4095316"; if (exec) Test4095316(/* par */); break;
|
||||
case 21: name = "Test4101940"; if (exec) Test4101940(/* par */); break;
|
||||
case 22: name = "Test4103436"; if (exec) Test4103436(/* par */); break;
|
||||
case 23: name = "Test4114076"; if (exec) Test4114076(/* par */); break;
|
||||
case 24: name = "Test4114077"; if (exec) Test4114077(/* par */); break;
|
||||
case 25: name = "Test4124632"; if (exec) Test4124632(/* par */); break;
|
||||
case 26: name = "Test4132736"; if (exec) Test4132736(/* par */); break;
|
||||
case 27: name = "Test4133509"; if (exec) Test4133509(/* par */); break;
|
||||
case 28: name = "Test4139572"; if (exec) Test4139572(/* par */); break;
|
||||
case 29: name = "Test4141640"; if (exec) Test4141640(/* par */); break;
|
||||
case 30: name = "Test4146160"; if (exec) Test4146160(/* par */); break;
|
||||
default: name = ""; break;
|
||||
if(en_us) {
|
||||
switch (index)
|
||||
{
|
||||
case 0: name = "Test4048446"; if (exec) Test4048446(/* par */); break;
|
||||
case 1: name = "Test4051866"; if (exec) Test4051866(/* par */); break;
|
||||
case 2: name = "Test4053636"; if (exec) Test4053636(/* par */); break;
|
||||
case 3: name = "Test4054238"; if (exec) Test4054238(/* par */); break;
|
||||
case 4: name = "Test4054734"; if (exec) Test4054734(/* par */); break;
|
||||
case 5: name = "Test4054736"; if (exec) Test4054736(/* par */); break;
|
||||
case 6: name = "Test4058613"; if (exec) Test4058613(/* par */); break;
|
||||
case 7: name = "Test4059820"; if (exec) Test4059820(/* par */); break;
|
||||
case 8: name = "Test4060154"; if (exec) Test4060154(/* par */); break;
|
||||
case 9: name = "Test4062418"; if (exec) Test4062418(/* par */); break;
|
||||
case 10: name = "Test4065540"; if (exec) Test4065540(/* par */); break;
|
||||
case 11: name = "Test4066189"; if (exec) Test4066189(/* par */); break;
|
||||
case 12: name = "Test4066696"; if (exec) Test4066696(/* par */); break;
|
||||
case 13: name = "Test4076676"; if (exec) Test4076676(/* par */); break;
|
||||
case 14: name = "Test4078588"; if (exec) Test4078588(/* par */); break;
|
||||
case 15: name = "Test4079231"; if (exec) Test4079231(/* par */); break;
|
||||
case 16: name = "Test4081866"; if (exec) Test4081866(/* par */); break;
|
||||
case 17: name = "Test4087241"; if (exec) Test4087241(/* par */); break;
|
||||
case 18: name = "Test4087243"; if (exec) Test4087243(/* par */); break;
|
||||
case 19: name = "Test4092260"; if (exec) Test4092260(/* par */); break;
|
||||
case 20: name = "Test4095316"; if (exec) Test4095316(/* par */); break;
|
||||
case 21: name = "Test4101940"; if (exec) Test4101940(/* par */); break;
|
||||
case 22: name = "Test4103436"; if (exec) Test4103436(/* par */); break;
|
||||
case 23: name = "Test4114076"; if (exec) Test4114076(/* par */); break;
|
||||
case 24: name = "Test4114077"; if (exec) Test4114077(/* par */); break;
|
||||
case 25: name = "Test4124632"; if (exec) Test4124632(/* par */); break;
|
||||
case 26: name = "Test4132736"; if (exec) Test4132736(/* par */); break;
|
||||
case 27: name = "Test4133509"; if (exec) Test4133509(/* par */); break;
|
||||
case 28: name = "Test4139572"; if (exec) Test4139572(/* par */); break;
|
||||
case 29: name = "Test4141640"; if (exec) Test4141640(/* par */); break;
|
||||
case 30: name = "Test4146160"; if (exec) Test4146160(/* par */); break;
|
||||
default: name = ""; break;
|
||||
}
|
||||
} else {
|
||||
errln("Class collator not instantiated");
|
||||
name = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1188,8 +1188,13 @@ void RegexTest::Extended() {
|
|||
return;
|
||||
}
|
||||
UnicodeString tdd(testDataDirectory);
|
||||
tdd = RegexMatcher("([/\\\\])out[/\\\\]testdata", tdd, 0, status).
|
||||
replaceFirst("$1regextst.txt", status);
|
||||
RegexMatcher m("([/\\\\])out[/\\\\]testdata", tdd, 0, status);
|
||||
if(U_SUCCESS(status)) {
|
||||
tdd = m.replaceFirst("$1regextst.txt", status);
|
||||
} else {
|
||||
errln("Couldn't set up tests. Error %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
|
||||
int len;
|
||||
UChar *testData = ReadAndConvertFile((const char *)CharString(tdd), len, status);
|
||||
|
@ -1509,8 +1514,13 @@ void RegexTest::PerlTests() {
|
|||
return;
|
||||
}
|
||||
UnicodeString tdd(testDataDirectory);
|
||||
tdd = RegexMatcher("([/\\\\])out[/\\\\]testdata", tdd, 0, status).
|
||||
replaceFirst("$1re_tests.txt", status);
|
||||
RegexMatcher m("([/\\\\])out[/\\\\]testdata", tdd, 0, status);
|
||||
if(U_SUCCESS(status)) {
|
||||
tdd = m.replaceFirst("$1re_tests.txt", status);
|
||||
} else {
|
||||
errln("Couldn't set up tests. Error %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
|
||||
int len;
|
||||
UChar *testData = ReadAndConvertFile((const char *)CharString(tdd), len, status);
|
||||
|
|
|
@ -148,6 +148,10 @@ void IntlTestSimpleDateFormatAPI::testAPI(/*char *par*/)
|
|||
logln("Testing getters and setters");
|
||||
|
||||
const DateFormatSymbols *syms = pat.getDateFormatSymbols();
|
||||
if(!syms) {
|
||||
errln("Couldn't obtain DateFormatSymbols. Quitting test!");
|
||||
return;
|
||||
}
|
||||
DateFormatSymbols *newSyms = new DateFormatSymbols(*syms);
|
||||
def.adoptDateFormatSymbols(newSyms);
|
||||
pat_fr.setDateFormatSymbols(*newSyms);
|
||||
|
|
|
@ -38,6 +38,19 @@ StringSearchTest::StringSearchTest() :
|
|||
m_fr_fr_ = (RuleBasedCollator *)Collator::createInstance("fr_FR", status);
|
||||
m_de_ = (RuleBasedCollator *)Collator::createInstance("de_DE", status);
|
||||
m_es_ = (RuleBasedCollator *)Collator::createInstance("es_ES", status);
|
||||
if(U_FAILURE(status)) {
|
||||
delete m_en_us_;
|
||||
delete m_fr_fr_;
|
||||
delete m_de_;
|
||||
delete m_es_;
|
||||
m_en_us_ = 0;
|
||||
m_fr_fr_ = 0;
|
||||
m_de_ = 0;
|
||||
m_es_ = 0;
|
||||
errln("Collator creation failed with %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
UnicodeString rules;
|
||||
rules.setTo(((RuleBasedCollator *)m_de_)->getRules());
|
||||
|
|
|
@ -28,6 +28,12 @@ void CollationServiceTest::TestRegister()
|
|||
|
||||
Collator* frcol = Collator::createInstance(FR, status);
|
||||
Collator* uscol = Collator::createInstance(US, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Failed to create collators with %s", u_errorName(status));
|
||||
delete frcol;
|
||||
delete uscol;
|
||||
return;
|
||||
}
|
||||
|
||||
{ // try override en_US collator
|
||||
URegistryKey key = Collator::registerInstance(frcol, US, status);
|
||||
|
@ -306,6 +312,14 @@ void CollationServiceTest::TestRegisterFactory(void)
|
|||
Collator* frcol = Collator::createInstance(Locale::getFrance(), status);
|
||||
Collator* gecol = Collator::createInstance(Locale::getGermany(), status);
|
||||
Collator* jpcol = Collator::createInstance(Locale::getJapan(), status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Failed to create collators with %s", u_errorName(status));
|
||||
delete frcol;
|
||||
delete gecol;
|
||||
delete jpcol;
|
||||
delete fuFUNames;
|
||||
return;
|
||||
}
|
||||
|
||||
CollatorInfo** info = new CollatorInfo*[4];
|
||||
if (!info) {
|
||||
|
|
|
@ -617,6 +617,8 @@ void TestIDNA::testAPI(const UChar* src, const UChar* expected, const char* test
|
|||
|
||||
if(status != expectedStatus){
|
||||
errln( "Did not get the expected error for %s null terminated source failed. Expected: %s Got: %s\n",testName, u_errorName(expectedStatus), u_errorName(status));
|
||||
uprv_free(tSrc);
|
||||
return;
|
||||
}
|
||||
if(testUnassigned ){
|
||||
status = U_ZERO_ERROR;
|
||||
|
|
|
@ -356,6 +356,11 @@ void TransliteratorAPITest::TestTransliterate2(){
|
|||
status = U_ZERO_ERROR;
|
||||
logln("\n Try calling transliterate with illegal start and limit values");
|
||||
t=Transliterator::createInstance("Any-Hex", UTRANS_FORWARD, parseError, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating transliterator %s", u_errorName(status));
|
||||
delete t;
|
||||
return;
|
||||
}
|
||||
gotResBuf = temp = "try start greater than limit";
|
||||
t->transliterate(gotResBuf, 10, 5);
|
||||
if(gotResBuf == temp)
|
||||
|
@ -379,6 +384,12 @@ void TransliteratorAPITest::TestTransliterate3(){
|
|||
UParseError parseError;
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Transliterator *t=Transliterator::createInstance("Any-Hex", UTRANS_FORWARD, parseError, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating transliterator %s", u_errorName(status));
|
||||
delete t;
|
||||
return;
|
||||
}
|
||||
|
||||
if(t == 0)
|
||||
errln("FAIL : construction");
|
||||
for(uint32_t i=0; i<sizeof(Data)/sizeof(Data[0]); i=i+3){
|
||||
|
@ -453,6 +464,11 @@ void TransliteratorAPITest::TestKeyboardTransliterator1(){
|
|||
UParseError parseError;
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Transliterator* t=Transliterator::createInstance("Any-Hex", UTRANS_FORWARD, parseError, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating transliterator %s", u_errorName(status));
|
||||
delete t;
|
||||
return;
|
||||
}
|
||||
//keyboardAux(t, Data);
|
||||
UTransPosition index={0, 0, 0, 0};
|
||||
UnicodeString s;
|
||||
|
@ -562,6 +578,11 @@ void TransliteratorAPITest::TestKeyboardTransliterator3(){
|
|||
UTransPosition index={0, 0, 0, 0};
|
||||
logln("Testing transliterate(Replaceable, int32_t, UErrorCode)");
|
||||
Transliterator *t=Transliterator::createInstance("Any-Hex", UTRANS_FORWARD, parseError, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating transliterator %s", u_errorName(status));
|
||||
delete t;
|
||||
return;
|
||||
}
|
||||
if(t == 0)
|
||||
errln("FAIL : construction");
|
||||
for(uint32_t i=0; i<sizeof(Data)/sizeof(Data[0]); i=i+4){
|
||||
|
@ -740,6 +761,11 @@ void TransliteratorAPITest::TestGetAdoptFilter(){
|
|||
UErrorCode status = U_ZERO_ERROR;
|
||||
UParseError parseError;
|
||||
Transliterator *t=Transliterator::createInstance("Any-Hex", UTRANS_FORWARD, parseError, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating transliterator %s", u_errorName(status));
|
||||
delete t;
|
||||
return;
|
||||
}
|
||||
if(t == 0)
|
||||
errln("FAIL : construction");
|
||||
const UnicodeFilter *u=t->getFilter();
|
||||
|
|
|
@ -2743,6 +2743,11 @@ void TransliteratorTest::TestGurmukhiDevanagari(){
|
|||
UnicodeSetIterator vIter(vowel);
|
||||
UnicodeSetIterator nvIter(non_vowel);
|
||||
Transliterator* trans = Transliterator::createInstance("Devanagari-Gurmukhi",UTRANS_FORWARD, parseError, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating transliterator %s", u_errorName(status));
|
||||
delete trans;
|
||||
return;
|
||||
}
|
||||
UnicodeString src (" \\u0902");
|
||||
UnicodeString expected(" \\u0A02");
|
||||
src = src.unescape();
|
||||
|
@ -3824,7 +3829,12 @@ void TransliteratorTest::TestAllCodepoints(){
|
|||
if(code == USCRIPT_INVALID_CODE){
|
||||
errln("uscript_getScript for codepoint \\U%08X failed.\n", i);
|
||||
}
|
||||
uprv_strcpy(id,uscript_getName(code));
|
||||
const char* myId = uscript_getName(code);
|
||||
if(!myId) {
|
||||
errln("Valid script code returned NULL name. Check your data!");
|
||||
return;
|
||||
}
|
||||
uprv_strcpy(id,myId);
|
||||
uprv_strcpy(abbr,uscript_getShortName(code));
|
||||
|
||||
uprv_strcpy(newId,"[:");
|
||||
|
|
|
@ -481,21 +481,23 @@ IntlTestCollator::doTest(Collator* col, const UChar *source, const UChar *target
|
|||
void
|
||||
IntlTestCollator::doTest(Collator* col, const UnicodeString &source, const UnicodeString &target, Collator::EComparisonResult result)
|
||||
{
|
||||
doTestVariant(col, source, target, result);
|
||||
if(result == Collator::LESS) {
|
||||
doTestVariant(col, target, source, Collator::GREATER);
|
||||
} else if (result == Collator::GREATER) {
|
||||
doTestVariant(col, target, source, Collator::LESS);
|
||||
}
|
||||
if(col) {
|
||||
doTestVariant(col, source, target, result);
|
||||
if(result == Collator::LESS) {
|
||||
doTestVariant(col, target, source, Collator::GREATER);
|
||||
} else if (result == Collator::GREATER) {
|
||||
doTestVariant(col, target, source, Collator::LESS);
|
||||
}
|
||||
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
CollationElementIterator* c = ((RuleBasedCollator *)col)->createCollationElementIterator( source );
|
||||
logln("Testing iterating source: "+source);
|
||||
backAndForth(*c);
|
||||
c->setText(target, status);
|
||||
logln("Testing iterating target: "+target);
|
||||
backAndForth(*c);
|
||||
delete c;
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
CollationElementIterator* c = ((RuleBasedCollator *)col)->createCollationElementIterator( source );
|
||||
logln("Testing iterating source: "+source);
|
||||
backAndForth(*c);
|
||||
c->setText(target, status);
|
||||
logln("Testing iterating target: "+target);
|
||||
backAndForth(*c);
|
||||
delete c;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -137,10 +137,18 @@ void TimeZoneRegressionTest:: Test4073215()
|
|||
errln("Fail: DST not active");
|
||||
|
||||
GregorianCalendar cal(1997, UCAL_JANUARY, 31, status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
failure(status, "new GregorianCalendar");
|
||||
cal.adoptTimeZone(z);
|
||||
|
||||
SimpleDateFormat sdf((UnicodeString)"E d MMM yyyy G HH:mm", status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating date format %s", u_errorName(status));
|
||||
return;
|
||||
}
|
||||
sdf.setCalendar(cal);
|
||||
failure(status, "new SimpleDateFormat");
|
||||
|
||||
|
@ -289,6 +297,11 @@ void TimeZoneRegressionTest:: Test4096952() {
|
|||
void TimeZoneRegressionTest:: Test4109314() {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
GregorianCalendar *testCal = (GregorianCalendar*)Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete testCal;
|
||||
return;
|
||||
}
|
||||
failure(status, "Calendar::createInstance");
|
||||
TimeZone *PST = TimeZone::createTimeZone("PST");
|
||||
/*Object[] testData = {
|
||||
|
@ -426,6 +439,11 @@ void TimeZoneRegressionTest:: Test4126678()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
Calendar *cal = Calendar::createInstance(status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete cal;
|
||||
return;
|
||||
}
|
||||
failure(status, "Calendar::createInstance");
|
||||
TimeZone *tz = TimeZone::createTimeZone("PST");
|
||||
cal->adoptTimeZone(tz);
|
||||
|
@ -797,6 +815,11 @@ TimeZoneRegressionTest::Test4162593()
|
|||
{
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
SimpleDateFormat *fmt = new SimpleDateFormat("z", Locale::getUS(), status);
|
||||
if(U_FAILURE(status)) {
|
||||
errln("Error creating calendar %s", u_errorName(status));
|
||||
delete fmt;
|
||||
return;
|
||||
}
|
||||
const int32_t ONE_HOUR = 60*60*1000;
|
||||
|
||||
SimpleTimeZone *asuncion = new SimpleTimeZone(-4*ONE_HOUR, "America/Asuncion" /*PY%sT*/,
|
||||
|
|
Loading…
Add table
Reference in a new issue