Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(423)

Unified Diff: source/test/cintltst/cloctst.c

Issue 1621843002: ICU 56 update step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@561
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/test/cintltst/cldrtest.c ('k') | source/test/cintltst/cmsccoll.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/test/cintltst/cloctst.c
diff --git a/source/test/cintltst/cloctst.c b/source/test/cintltst/cloctst.c
index d9c3ca1bc28efff9e086b116e381233b76117241..7531ffe46e7bfc10c9cce52059818552cecafd8a 100644
--- a/source/test/cintltst/cloctst.c
+++ b/source/test/cintltst/cloctst.c
@@ -1,6 +1,6 @@
/********************************************************************
* COPYRIGHT:
- * Copyright (c) 1997-2014, International Business Machines Corporation and
+ * Copyright (c) 1997-2015, International Business Machines Corporation and
* others. All Rights Reserved.
********************************************************************/
/*****************************************************************************
@@ -1674,9 +1674,9 @@ static void TestKeywordVariants(void)
{
static const struct {
const char *localeID;
- const char *expectedLocaleID;
- const char *expectedLocaleIDNoKeywords;
- const char *expectedCanonicalID;
+ const char *expectedLocaleID; /* uloc_getName */
+ const char *expectedLocaleIDNoKeywords; /* uloc_getBaseName */
+ const char *expectedCanonicalID; /* uloc_canonicalize */
const char *expectedKeywords[10];
int32_t numKeywords;
UErrorCode expectedStatus; /* from uloc_openKeywords */
@@ -1693,20 +1693,29 @@ static void TestKeywordVariants(void)
{
"de_DE@euro",
"de_DE@euro",
- "de_DE",
+ "de_DE@euro", /* we probably should strip off the POSIX style variant @euro see #11690 */
"de_DE@currency=EUR",
{"","","","","","",""},
0,
U_INVALID_FORMAT_ERROR /* must have '=' after '@' */
},
{
- "de_DE@euro;collation=phonebook",
- "de_DE", /* error result; bad format */
- "de_DE", /* error result; bad format */
- "de_DE", /* error result; bad format */
+ "de_DE@euro;collation=phonebook", /* The POSIX style variant @euro cannot be combined with key=value? */
+ "de_DE", /* getName returns de_DE - should be INVALID_FORMAT_ERROR? */
+ "de_DE", /* getBaseName returns de_DE - should be INVALID_FORMAT_ERROR? see #11690 */
+ "de_DE", /* canonicalize returns de_DE - should be INVALID_FORMAT_ERROR? */
{"","","","","","",""},
0,
U_INVALID_FORMAT_ERROR
+ },
+ {
+ "de_DE@collation=",
+ 0, /* expected getName to fail */
+ "de_DE", /* getBaseName returns de_DE - should be INVALID_FORMAT_ERROR? see #11690 */
+ 0, /* expected canonicalize to fail */
+ {"","","","","","",""},
+ 0,
+ U_INVALID_FORMAT_ERROR /* must have '=' after '@' */
}
};
UErrorCode status = U_ZERO_ERROR;
@@ -1753,19 +1762,58 @@ static void TestKeywordVariants(void)
}
uenum_close(keywords);
}
+
+ status = U_ZERO_ERROR;
resultLen = uloc_getName(testCases[i].localeID, buffer, 256, &status);
- (void)resultLen; /* Suppress set but not used warning. */
- if (uprv_strcmp(testCases[i].expectedLocaleID, buffer) != 0) {
- log_err("Expected uloc_getName(\"%s\") => \"%s\"; got \"%s\"\n",
- testCases[i].localeID, testCases[i].expectedLocaleID, buffer);
+ if (U_SUCCESS(status)) {
+ if (testCases[i].expectedLocaleID == 0) {
+ log_err("Expected uloc_getName(\"%s\") to fail; got \"%s\"\n",
+ testCases[i].localeID, buffer);
+ } else if (uprv_strcmp(testCases[i].expectedLocaleID, buffer) != 0) {
+ log_err("Expected uloc_getName(\"%s\") => \"%s\"; got \"%s\"\n",
+ testCases[i].localeID, testCases[i].expectedLocaleID, buffer);
+ }
+ } else {
+ if (testCases[i].expectedLocaleID != 0) {
+ log_err("Expected uloc_getName(\"%s\") => \"%s\"; but returned error: %s\n",
+ testCases[i].localeID, testCases[i].expectedLocaleID, buffer, u_errorName(status));
+ }
}
+
+ status = U_ZERO_ERROR;
+ resultLen = uloc_getBaseName(testCases[i].localeID, buffer, 256, &status);
+ if (U_SUCCESS(status)) {
+ if (testCases[i].expectedLocaleIDNoKeywords == 0) {
+ log_err("Expected uloc_getBaseName(\"%s\") to fail; got \"%s\"\n",
+ testCases[i].localeID, buffer);
+ } else if (uprv_strcmp(testCases[i].expectedLocaleIDNoKeywords, buffer) != 0) {
+ log_err("Expected uloc_getBaseName(\"%s\") => \"%s\"; got \"%s\"\n",
+ testCases[i].localeID, testCases[i].expectedLocaleIDNoKeywords, buffer);
+ }
+ } else {
+ if (testCases[i].expectedLocaleIDNoKeywords != 0) {
+ log_err("Expected uloc_getBaseName(\"%s\") => \"%s\"; but returned error: %s\n",
+ testCases[i].localeID, testCases[i].expectedLocaleIDNoKeywords, buffer, u_errorName(status));
+ }
+ }
+
+ status = U_ZERO_ERROR;
resultLen = uloc_canonicalize(testCases[i].localeID, buffer, 256, &status);
- if (uprv_strcmp(testCases[i].expectedCanonicalID, buffer) != 0) {
- log_err("Expected uloc_canonicalize(\"%s\") => \"%s\"; got \"%s\"\n",
- testCases[i].localeID, testCases[i].expectedCanonicalID, buffer);
- }
+ if (U_SUCCESS(status)) {
+ if (testCases[i].expectedCanonicalID == 0) {
+ log_err("Expected uloc_canonicalize(\"%s\") to fail; got \"%s\"\n",
+ testCases[i].localeID, buffer);
+ } else if (uprv_strcmp(testCases[i].expectedCanonicalID, buffer) != 0) {
+ log_err("Expected uloc_canonicalize(\"%s\") => \"%s\"; got \"%s\"\n",
+ testCases[i].localeID, testCases[i].expectedCanonicalID, buffer);
+ }
+ } else {
+ if (testCases[i].expectedCanonicalID != 0) {
+ log_err("Expected uloc_canonicalize(\"%s\") => \"%s\"; but returned error: %s\n",
+ testCases[i].localeID, testCases[i].expectedCanonicalID, buffer, u_errorName(status));
+ }
+ }
}
-
}
static void TestKeywordVariantParsing(void)
@@ -2201,14 +2249,14 @@ static void TestDisplayKeywordValues(void){
{ "de_AT@currency=ATS", "fr_FR",
{0x0073, 0x0063, 0x0068, 0x0069, 0x006c, 0x006c, 0x0069, 0x006e, 0x0067, 0x0020, 0x0061, 0x0075, 0x0074, 0x0072, 0x0069, 0x0063, 0x0068, 0x0069, 0x0065, 0x006e, 0x0000}
},
- { "de_DE@currency=DEM", "it",
- {0x004d, 0x0061, 0x0072, 0x0063, 0x006f, 0x0020, 0x0054, 0x0065, 0x0064, 0x0065, 0x0073, 0x0063, 0x006f, 0x0000}
+ { "de_DE@currency=DEM", "it",
+ {0x006d, 0x0061, 0x0072, 0x0063, 0x006f, 0x0020, 0x0074, 0x0065, 0x0064, 0x0065, 0x0073, 0x0063, 0x006f, 0x0000}
},
{ "el_GR@currency=GRD", "en",
{0x0047, 0x0072, 0x0065, 0x0065, 0x006b, 0x0020, 0x0044, 0x0072, 0x0061, 0x0063, 0x0068, 0x006d, 0x0061, 0x0000}
},
{ "eu_ES@currency=ESP", "it_IT",
- {0x0050, 0x0065, 0x0073, 0x0065, 0x0074, 0x0061, 0x0020, 0x0053, 0x0070, 0x0061, 0x0067, 0x006e, 0x006f, 0x006c, 0x0061, 0x0000}
+ {0x0070, 0x0065, 0x0073, 0x0065, 0x0074, 0x0061, 0x0020, 0x0073, 0x0070, 0x0061, 0x0067, 0x006e, 0x006f, 0x006c, 0x0061, 0x0000}
},
{ "de@collation=phonebook", "es",
{0x006F, 0x0072, 0x0064, 0x0065, 0x006E, 0x0020, 0x0064, 0x0065, 0x0020, 0x006C, 0x0069, 0x0073, 0x0074, 0x00ED, 0x006E, 0x0020, 0x0074, 0x0065, 0x006C, 0x0065, 0x0066, 0x00F3, 0x006E, 0x0069, 0x0063, 0x006F, 0x0000}
@@ -4124,8 +4172,8 @@ const char* const full_data[][3] = {
"fi"
}, {
"und_FM",
- "chk_Latn_FM",
- "chk"
+ "en_Latn_FM",
+ "en_FM"
}, {
"und_FO",
"fo_Latn_FO",
« no previous file with comments | « source/test/cintltst/cldrtest.c ('k') | source/test/cintltst/cmsccoll.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698