X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2Ficu%2Fsource%2Ftest%2Fcintltst%2Fudatpg_test.c;h=1ca28623e053d46e7a864f518de6923c91f18cf5;hb=4a1a0bdd01eef90b0826a0e761d3379d3715c10f;hp=32c85d39ba1a4de2beb64fc42ac3e006074812b1;hpb=b1be5ca53587d23e7aeb77b26861fdc0a181ffd8;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/icu/source/test/cintltst/udatpg_test.c b/src/third_party/icu/source/test/cintltst/udatpg_test.c index 32c85d3..1ca2862 100644 --- a/src/third_party/icu/source/test/cintltst/udatpg_test.c +++ b/src/third_party/icu/source/test/cintltst/udatpg_test.c @@ -1,7 +1,7 @@ /* ******************************************************************************* * -* Copyright (C) 2007-2010, International Business Machines +* Copyright (C) 2007-2013, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* @@ -111,9 +111,24 @@ static void TestOpenClose() { udatpg_close(dtpg2); } +typedef struct { + UDateTimePatternField field; + UChar name[12]; +} AppendItemNameData; + +static const AppendItemNameData appendItemNameData[] = { /* for Finnish */ + { UDATPG_YEAR_FIELD, {0x0076,0x0075,0x006F,0x0073,0x0069,0} }, /* "vuosi" */ + { UDATPG_MONTH_FIELD, {0x006B,0x0075,0x0075,0x006B,0x0061,0x0075,0x0073,0x0069,0} }, /* "kuukausi" */ + { UDATPG_WEEKDAY_FIELD, {0x0076,0x0069,0x0069,0x006B,0x006F,0x006E,0x0070,0x00E4,0x0069,0x0076,0x00E4,0} }, /* "viikonpäivä" */ + { UDATPG_DAY_FIELD, {0x0070,0x00E4,0x0069,0x0076,0x00E4,0} }, /* "päivä" */ + { UDATPG_HOUR_FIELD, {0x0074,0x0075,0x006E,0x0074,0x0069,0} }, /* "tunti" */ + { UDATPG_FIELD_COUNT, {0} } /* terminator */ +}; + static void TestUsage() { UErrorCode errorCode=U_ZERO_ERROR; UDateTimePatternGenerator *dtpg; + const AppendItemNameData * appItemNameDataPtr; UChar bestPattern[20]; UChar result[20]; int32_t length; @@ -193,6 +208,14 @@ static void TestUsage() { return; } + for (appItemNameDataPtr = appendItemNameData; appItemNameDataPtr->field < UDATPG_FIELD_COUNT; appItemNameDataPtr++) { + int32_t nameLength; + const UChar * namePtr = udatpg_getAppendItemName(dtpg, appItemNameDataPtr->field, &nameLength); + if ( namePtr == NULL || u_strncmp(appItemNameDataPtr->name, namePtr, nameLength) != 0 ) { + log_err("udatpg_getAppendItemName returns invalid name for field %d\n", (int)appItemNameDataPtr->field); + } + } + /* set append name to hr */ udatpg_setAppendItemName( dtpg, UDATPG_HOUR_FIELD, appendItemName, 7 ); r = udatpg_getAppendItemName(dtpg, UDATPG_HOUR_FIELD, &length); @@ -325,7 +348,7 @@ static void TestBuilder() { /* get a pattern for an abbreviated month and day */ length = udatpg_getBestPattern(generator, skeleton, 4, pattern, patternCapacity, &status); - formatter = udat_open(UDAT_IGNORE, UDAT_DEFAULT, locale, timeZoneGMT, -1, + formatter = udat_open(UDAT_PATTERN, UDAT_PATTERN, locale, timeZoneGMT, -1, pattern, length, &status); if (formatter==NULL) { log_err("Failed to initialize the UDateFormat of the sample code in Userguide.\n");