X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/08b89b0a244153b9f5bbb2f49c55ab0f7298122e..b331163bffd790ced0e88b73f44f86d49ccc48a5:/icuSources/test/intltest/regiontst.cpp diff --git a/icuSources/test/intltest/regiontst.cpp b/icuSources/test/intltest/regiontst.cpp index 635a1b56..7f0b9625 100644 --- a/icuSources/test/intltest/regiontst.cpp +++ b/icuSources/test/intltest/regiontst.cpp @@ -1,6 +1,6 @@ /*********************************************************************** * COPYRIGHT: - * Copyright (c) 2013, International Business Machines Corporation + * Copyright (c) 2013-2015, International Business Machines Corporation * and others. All Rights Reserved. ***********************************************************************/ @@ -25,8 +25,6 @@ typedef struct KnownRegion { const char *containingContinent; } KnownRegion; -#define LENGTHOF(array) (int32_t)(sizeof(array) / sizeof((array)[0])) - static KnownRegion knownRegions[] = { // Code, Num, Parent, Type, Containing Continent { "TP" , 626, "035", URGN_TERRITORY, "142" }, @@ -364,7 +362,7 @@ RegionTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* void RegionTest::TestKnownRegions() { - for (int32_t i = 0 ; i < LENGTHOF(knownRegions) ; i++ ) { + for (int32_t i = 0 ; i < UPRV_LENGTHOF(knownRegions) ; i++ ) { KnownRegion rd = knownRegions[i]; UErrorCode status = U_ZERO_ERROR; const Region *r = Region::getInstance(rd.code,status); @@ -415,17 +413,17 @@ void RegionTest::TestGetInstanceString() { UErrorCode status = U_ZERO_ERROR; const Region *r = Region::getInstance((const char *)NULL,status); if ( status != U_ILLEGAL_ARGUMENT_ERROR ) { - errln("Calling Region::getInstance(NULL) should have triggered an U_ILLEGAL_ARGUMENT_ERROR, but didn't."); + errcheckln(status, "Calling Region::getInstance(NULL) should have triggered an U_ILLEGAL_ARGUMENT_ERROR, but didn't. - %s", u_errorName(status)); } status = U_ZERO_ERROR; r = Region::getInstance("BOGUS",status); if ( status != U_ILLEGAL_ARGUMENT_ERROR ) { - errln("Calling Region::getInstance(\"BOGUS\") should have triggered an U_ILLEGAL_ARGUMENT_ERROR, but didn't."); + errcheckln(status, "Calling Region::getInstance(\"BOGUS\") should have triggered an U_ILLEGAL_ARGUMENT_ERROR, but didn't. - %s", u_errorName(status)); } - for (int32_t i = 0 ; i < LENGTHOF(testData) ; i++ ) { + for (int32_t i = 0 ; i < UPRV_LENGTHOF(testData) ; i++ ) { TestData data = testData[i]; status = U_ZERO_ERROR; r = Region::getInstance(data.inputID,status); @@ -466,10 +464,10 @@ void RegionTest::TestGetInstanceInt() { UErrorCode status = U_ZERO_ERROR; Region::getInstance(-123,status); if ( status != U_ILLEGAL_ARGUMENT_ERROR ) { - errln("Calling Region::getInstance(-123) should have triggered an U_ILLEGAL_ARGUMENT_ERROR, but didn't."); + errcheckln(status, "Calling Region::getInstance(-123) should have triggered an U_ILLEGAL_ARGUMENT_ERROR, but didn't. - %s", u_errorName(status)); } - for (int32_t i = 0 ; i < LENGTHOF(testData) ; i++ ) { + for (int32_t i = 0 ; i < UPRV_LENGTHOF(testData) ; i++ ) { TestData data = testData[i]; status = U_ZERO_ERROR; const Region *r = Region::getInstance(data.inputID,status); @@ -492,7 +490,7 @@ void RegionTest::TestGetInstanceInt() { } void RegionTest::TestGetContainedRegions() { - for (int32_t i = 0 ; i < LENGTHOF(knownRegions) ; i++ ) { + for (int32_t i = 0 ; i < UPRV_LENGTHOF(knownRegions) ; i++ ) { KnownRegion rd = knownRegions[i]; UErrorCode status = U_ZERO_ERROR; @@ -501,7 +499,11 @@ void RegionTest::TestGetContainedRegions() { if (r->getType() == URGN_GROUPING) { continue; } - StringEnumeration *containedRegions = r->getContainedRegions(); + StringEnumeration *containedRegions = r->getContainedRegions(status); + if (U_FAILURE(status)) { + errln("%s->getContainedRegions(status) failed: %s", r->getRegionCode(), u_errorName(status)); + continue; + } for ( int32_t i = 0 ; i < containedRegions->count(status); i++ ) { const char *crID = containedRegions->next(NULL,status); const Region *cr = Region::getInstance(crID,status); @@ -519,7 +521,7 @@ void RegionTest::TestGetContainedRegions() { } void RegionTest::TestGetContainedRegionsWithType() { - for (int32_t i = 0 ; i < LENGTHOF(knownRegions) ; i++ ) { + for (int32_t i = 0 ; i < UPRV_LENGTHOF(knownRegions) ; i++ ) { KnownRegion rd = knownRegions[i]; UErrorCode status = U_ZERO_ERROR; @@ -528,7 +530,11 @@ void RegionTest::TestGetContainedRegionsWithType() { if (r->getType() != URGN_CONTINENT) { continue; } - StringEnumeration *containedRegions = r->getContainedRegions(URGN_TERRITORY); + StringEnumeration *containedRegions = r->getContainedRegions(URGN_TERRITORY, status); + if (U_FAILURE(status)) { + errln("%s->getContainedRegions(URGN_TERRITORY, status) failed: %s", r->getRegionCode(), u_errorName(status)); + continue; + } for ( int32_t j = 0 ; j < containedRegions->count(status); j++ ) { const char *crID = containedRegions->next(NULL,status); const Region *cr = Region::getInstance(crID,status); @@ -546,7 +552,7 @@ void RegionTest::TestGetContainedRegionsWithType() { } void RegionTest::TestGetContainingRegion() { - for (int32_t i = 0 ; i < LENGTHOF(knownRegions) ; i++ ) { + for (int32_t i = 0 ; i < UPRV_LENGTHOF(knownRegions) ; i++ ) { KnownRegion rd = knownRegions[i]; UErrorCode status = U_ZERO_ERROR; const Region *r = Region::getInstance(rd.code,status); @@ -570,7 +576,7 @@ void RegionTest::TestGetContainingRegion() { } void RegionTest::TestGetContainingRegionWithType() { - for (int32_t i = 0 ; i < LENGTHOF(knownRegions) ; i++ ) { + for (int32_t i = 0 ; i < UPRV_LENGTHOF(knownRegions) ; i++ ) { KnownRegion rd = knownRegions[i]; UErrorCode status = U_ZERO_ERROR; @@ -610,7 +616,11 @@ void RegionTest::TestGetPreferredValues() { UErrorCode status = U_ZERO_ERROR; const Region *r = Region::getInstance(data[0],status); if (r) { - StringEnumeration *preferredValues = r->getPreferredValues(); + StringEnumeration *preferredValues = r->getPreferredValues(status); + if (U_FAILURE(status)) { + errln("%s->getPreferredValues(status) failed: %s", r->getRegionCode(), u_errorName(status)); + continue; + } for ( int i = 1 ; data[i] ; i++ ) { UBool found = FALSE; preferredValues->reset(status); @@ -632,7 +642,7 @@ void RegionTest::TestGetPreferredValues() { } void RegionTest::TestContains() { - for (int32_t i = 0 ; i < LENGTHOF(knownRegions) ; i++ ) { + for (int32_t i = 0 ; i < UPRV_LENGTHOF(knownRegions) ; i++ ) { KnownRegion rd = knownRegions[i]; UErrorCode status = U_ZERO_ERROR; @@ -655,13 +665,21 @@ void RegionTest::TestAvailableTerritories() { // Test to make sure that the set of territories contained in World and the set of all available // territories are one and the same. UErrorCode status = U_ZERO_ERROR; - StringEnumeration *availableTerritories = Region::getAvailable(URGN_TERRITORY); + StringEnumeration *availableTerritories = Region::getAvailable(URGN_TERRITORY, status); + if (U_FAILURE(status)) { + dataerrln("Region::getAvailable(URGN_TERRITORY,status) failed: %s", u_errorName(status)); + return; + } const Region *world = Region::getInstance("001",status); if (U_FAILURE(status)) { dataerrln("Region::getInstance(\"001\",status) failed: %s", u_errorName(status)); return; } - StringEnumeration *containedInWorld = world->getContainedRegions(URGN_TERRITORY); + StringEnumeration *containedInWorld = world->getContainedRegions(URGN_TERRITORY, status); + if (U_FAILURE(status)) { + errln("world->getContainedRegions(URGN_TERRITORY, status) failed: %s", u_errorName(status)); + return; + } if ( !availableTerritories || !containedInWorld || *availableTerritories != *containedInWorld ) { char availableTerritoriesString[1024] = ""; char containedInWorldString[1024] = ""; @@ -699,7 +717,11 @@ void RegionTest::TestNoContainedRegions(void) { dataerrln("Fail called to Region::getInstance(\"BM\", status) - %s", u_errorName(status)); return; } - StringEnumeration *containedRegions = region->getContainedRegions(); + StringEnumeration *containedRegions = region->getContainedRegions(status); + if (U_FAILURE(status)) { + errln("%s->getContainedRegions(status) failed: %s", region->getRegionCode(), u_errorName(status)); + return; + } const char *emptyStr = containedRegions->next(NULL, status); if (U_FAILURE(status)||(emptyStr!=NULL)) { errln("Error, 'BM' should have no subregions, but returned str=%p, err=%s\n", emptyStr, u_errorName(status));