| OLD | NEW | 
|---|
| 1 /******************************************************************** | 1 /******************************************************************** | 
| 2  * COPYRIGHT: | 2  * COPYRIGHT: | 
| 3  * Copyright (c) 1997-2013, International Business Machines Corporation | 3  * Copyright (c) 1997-2014, International Business Machines Corporation | 
| 4  * and others. All Rights Reserved. | 4  * and others. All Rights Reserved. | 
| 5  ********************************************************************/ | 5  ********************************************************************/ | 
| 6 /******************************************************************************* | 6 /******************************************************************************* | 
| 7 * | 7 * | 
| 8 * File CNMDPTST.C | 8 * File CNMDPTST.C | 
| 9 * | 9 * | 
| 10 *  Madhu Katragadda                       Creation | 10 *  Madhu Katragadda                       Creation | 
| 11 * Modification History: | 11 * Modification History: | 
| 12 * | 12 * | 
| 13 *   Date        Name        Description | 13 *   Date        Name        Description | 
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 409  */ | 409  */ | 
| 410 static void TestCurrency(void) | 410 static void TestCurrency(void) | 
| 411 { | 411 { | 
| 412     UNumberFormat *currencyFmt; | 412     UNumberFormat *currencyFmt; | 
| 413     UChar *str; | 413     UChar *str; | 
| 414     int32_t lneed, i; | 414     int32_t lneed, i; | 
| 415     UFieldPosition pos; | 415     UFieldPosition pos; | 
| 416     UChar res[100]; | 416     UChar res[100]; | 
| 417     UErrorCode status = U_ZERO_ERROR; | 417     UErrorCode status = U_ZERO_ERROR; | 
| 418     const char* locale[]={"fr_CA", "de_DE_PREEURO", "fr_FR_PREEURO"}; | 418     const char* locale[]={"fr_CA", "de_DE_PREEURO", "fr_FR_PREEURO"}; | 
| 419     const char* result[]={"1,50\\u00a0$", "1,50\\u00a0DEM", "1,50\\u00a0F"}; | 419     const char* result[]={"1,50\\u00a0$", "1,50\\u00a0DM", "1,50\\u00a0F"}; | 
| 420     log_verbose("\nTesting the number format with different currency patterns\n"
      ); | 420     log_verbose("\nTesting the number format with different currency patterns\n"
      ); | 
| 421     for(i=0; i < 3; i++) | 421     for(i=0; i < 3; i++) | 
| 422     { | 422     { | 
| 423         str=NULL; | 423         str=NULL; | 
| 424         currencyFmt = unum_open(UNUM_CURRENCY, NULL,0,locale[i],NULL, &status); | 424         currencyFmt = unum_open(UNUM_CURRENCY, NULL,0,locale[i],NULL, &status); | 
| 425 | 425 | 
| 426         if(U_FAILURE(status)){ | 426         if(U_FAILURE(status)){ | 
| 427             log_data_err("Error in the construction of number format with style 
      currency: %s (Are you missing data?)\n", | 427             log_data_err("Error in the construction of number format with style 
      currency: %s (Are you missing data?)\n", | 
| 428                 myErrorName(status)); | 428                 myErrorName(status)); | 
| 429         } else { | 429         } else { | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 463     UErrorCode status = U_ZERO_ERROR; | 463     UErrorCode status = U_ZERO_ERROR; | 
| 464 | 464 | 
| 465     const char* locale[]={ | 465     const char* locale[]={ | 
| 466         "ca_ES_PREEURO",  "de_LU_PREEURO",  "en_IE_PREEURO",              "fi_FI
      _PREEURO",  "fr_LU_PREEURO",  "it_IT_PREEURO", | 466         "ca_ES_PREEURO",  "de_LU_PREEURO",  "en_IE_PREEURO",              "fi_FI
      _PREEURO",  "fr_LU_PREEURO",  "it_IT_PREEURO", | 
| 467         "pt_PT_PREEURO",  "de_AT_PREEURO",  "el_GR_PREEURO",              "es_ES
      _PREEURO",  "fr_BE_PREEURO",  "ga_IE_PREEURO", | 467         "pt_PT_PREEURO",  "de_AT_PREEURO",  "el_GR_PREEURO",              "es_ES
      _PREEURO",  "fr_BE_PREEURO",  "ga_IE_PREEURO", | 
| 468         "nl_BE_PREEURO",  "de_DE_PREEURO",  "en_BE_PREEURO",              "eu_ES
      _PREEURO",  "fr_FR_PREEURO",  "gl_ES_PREEURO", | 468         "nl_BE_PREEURO",  "de_DE_PREEURO",  "en_BE_PREEURO",              "eu_ES
      _PREEURO",  "fr_FR_PREEURO",  "gl_ES_PREEURO", | 
| 469         "nl_NL_PREEURO", | 469         "nl_NL_PREEURO", | 
| 470     }; | 470     }; | 
| 471 | 471 | 
| 472     const char* result[]={ | 472     const char* result[]={ | 
| 473         "\\u20A7\\u00A02", "2\\u00A0F",            "IEP1.50",                   
         "1,50\\u00A0FIM",   "2\\u00A0F",         "ITL\\u00A02", | 473         "\\u20A7\\u00A02", "2\\u00A0F",            "IEP1.50",                   
         "1,50\\u00A0mk",   "2\\u00A0F",         "ITL\\u00A02", | 
| 474         "1$50\\u00A0Esc.", "\\u00F6S\\u00A01,50",  "1,50\\u00A0\\u0394\\u03C1\\u
      03C7", "2\\u00A0\\u20A7", "1,50\\u00A0FB",     "IEP1.50", | 474         "1$50\\u00A0\\u200B", "\\u00F6S\\u00A01,50",  "1,50\\u00A0\\u0394\\u03C1
      \\u03C7", "2\\u00A0\\u20A7", "1,50\\u00A0FB",     "IEP1.50", | 
| 475         "1,50\\u00A0BEF",   "1,50\\u00A0DEM",        "1,50\\u00A0BEF",          
                "\\u20A7\\u00A02", "1,50\\u00A0F",      "2\\u00A0\\u20A7", | 475         "1,50\\u00A0BEF",   "1,50\\u00A0DM",        "1,50\\u00A0BEF",           
               "\\u20A7\\u00A02", "1,50\\u00A0F",      "2\\u00A0\\u20A7", | 
| 476         "NLG\\u00A01,50" | 476         "NLG\\u00A01,50" | 
| 477     }; | 477     }; | 
| 478 | 478 | 
| 479     log_verbose("\nTesting the number format with different currency patterns\n"
      ); | 479     log_verbose("\nTesting the number format with different currency patterns\n"
      ); | 
| 480     for(i=0; i < 19; i++) | 480     for(i=0; i < 19; i++) | 
| 481     { | 481     { | 
| 482         char curID[256] = {0}; | 482         char curID[256] = {0}; | 
| 483         uloc_canonicalize(locale[i], curID, 256, &status); | 483         uloc_canonicalize(locale[i], curID, 256, &status); | 
| 484         if(U_FAILURE(status)){ | 484         if(U_FAILURE(status)){ | 
| 485             log_data_err("Could not canonicalize %s. Error: %s (Are you missing 
      data?)\n", locale[i], u_errorName(status)); | 485             log_data_err("Could not canonicalize %s. Error: %s (Are you missing 
      data?)\n", locale[i], u_errorName(status)); | 
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 537         "fr_FR", | 537         "fr_FR", | 
| 538     }; | 538     }; | 
| 539 | 539 | 
| 540     const char* currency[]={ | 540     const char* currency[]={ | 
| 541         "", | 541         "", | 
| 542         "JPY", | 542         "JPY", | 
| 543     }; | 543     }; | 
| 544 | 544 | 
| 545     const char* result[]={ | 545     const char* result[]={ | 
| 546         "1\\u00A0234,56\\u00A0\\u20AC", | 546         "1\\u00A0234,56\\u00A0\\u20AC", | 
| 547         "1\\u00A0235\\u00A0\\u00A5JP", | 547         "1\\u00A0235\\u00A0JPY", | 
| 548     }; | 548     }; | 
| 549 | 549 | 
| 550     log_verbose("\nTesting the number format with different currency codes\n"); | 550     log_verbose("\nTesting the number format with different currency codes\n"); | 
| 551     for(i=0; i < 2; i++) | 551     for(i=0; i < 2; i++) | 
| 552     { | 552     { | 
| 553         char cStr[20]={0}; | 553         char cStr[20]={0}; | 
| 554         UChar isoCode[16]={0}; | 554         UChar isoCode[16]={0}; | 
| 555         currencyFmt = unum_open(UNUM_CURRENCY, NULL,0,locale[i],NULL, &status); | 555         currencyFmt = unum_open(UNUM_CURRENCY, NULL,0,locale[i],NULL, &status); | 
| 556         if(U_FAILURE(status)){ | 556         if(U_FAILURE(status)){ | 
| 557             log_data_err("Error in the construction of number format with style 
      currency: %s (Are you missing data?)\n", | 557             log_data_err("Error in the construction of number format with style 
      currency: %s (Are you missing data?)\n", | 
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 864             } | 864             } | 
| 865         } | 865         } | 
| 866 | 866 | 
| 867     } | 867     } | 
| 868 } | 868 } | 
| 869 | 869 | 
| 870 static void TestGetKeywordValuesForLocale(void) { | 870 static void TestGetKeywordValuesForLocale(void) { | 
| 871 #define PREFERRED_SIZE 12 | 871 #define PREFERRED_SIZE 12 | 
| 872 #define MAX_NUMBER_OF_KEYWORDS 4 | 872 #define MAX_NUMBER_OF_KEYWORDS 4 | 
| 873     const char *PREFERRED[PREFERRED_SIZE][MAX_NUMBER_OF_KEYWORDS] = { | 873     const char *PREFERRED[PREFERRED_SIZE][MAX_NUMBER_OF_KEYWORDS] = { | 
| 874             { "root",               "USD", "USN", "USS" }, | 874             { "root",               "USD", "USN", NULL }, | 
| 875             { "und",                "USD", "USN", "USS" }, | 875             { "und",                "USD", "USN", NULL }, | 
| 876  /*           { "und_ZZ",             "USD", NULL, NULL },  -- temporaary remove
       as this locale now has 15 entries */ | 876  /*           { "und_ZZ",             "USD", NULL, NULL },  -- temporarily remov
      e as this locale now has 15 entries */ | 
| 877             { "en_US",              "USD", "USN", "USS" }, | 877             { "en_US",              "USD", "USN", NULL }, | 
| 878             { "en_029",             "USD", "USN", "USS" }, | 878             { "en_029",             "USD", "USN", NULL }, | 
| 879             { "en_TH",              "THB", NULL, NULL }, | 879             { "en_TH",              "THB", NULL, NULL }, | 
| 880             { "de",                 "EUR", NULL, NULL }, | 880             { "de",                 "EUR", NULL, NULL }, | 
| 881             { "de_DE",              "EUR", NULL, NULL }, | 881             { "de_DE",              "EUR", NULL, NULL }, | 
| 882             { "ar",                 "EGP", NULL, NULL }, | 882             { "ar",                 "EGP", NULL, NULL }, | 
| 883             { "ar_PS",              "ILS", "JOD", NULL }, | 883             { "ar_PS",              "ILS", "JOD", NULL }, | 
| 884             { "en@currency=CAD",    "USD", "USN", "USS" }, | 884             { "en@currency=CAD",    "USD", "USN", NULL }, | 
| 885             { "fr@currency=zzz",    "EUR", NULL, NULL }, | 885             { "fr@currency=zzz",    "EUR", NULL, NULL }, | 
| 886             { "de_DE@currency=DEM", "EUR", NULL, NULL }, | 886             { "de_DE@currency=DEM", "EUR", NULL, NULL }, | 
| 887     }; | 887     }; | 
| 888     const int32_t EXPECTED_SIZE[PREFERRED_SIZE] = { | 888     const int32_t EXPECTED_SIZE[PREFERRED_SIZE] = { | 
| 889             3, 3, 3, 3, 1, 1, 1, 1, 2, 3, 1, 1 | 889             2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1 | 
| 890     }; | 890     }; | 
| 891     UErrorCode status = U_ZERO_ERROR; | 891     UErrorCode status = U_ZERO_ERROR; | 
| 892     int32_t i, j, size; | 892     int32_t i, j, size; | 
| 893     UEnumeration *pref, *all; | 893     UEnumeration *pref, *all; | 
| 894     const char *loc = NULL; | 894     const char *loc = NULL; | 
| 895     UBool matchPref, matchAll; | 895     UBool matchPref, matchAll; | 
| 896     const char *value = NULL; | 896     const char *value = NULL; | 
| 897     int32_t valueLength = 0; | 897     int32_t valueLength = 0; | 
| 898 | 898 | 
| 899     UList *ALLList = NULL; | 899     UList *ALLList = NULL; | 
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1058     u_uastrcpy(res, expected); | 1058     u_uastrcpy(res, expected); | 
| 1059     if (u_strcmp(out, res) != 0) | 1059     if (u_strcmp(out, res) != 0) | 
| 1060         log_err("FAIL: Expected: \"%s\"  Got: \"%s\"\n", expected, austrdup(out)
       ); | 1060         log_err("FAIL: Expected: \"%s\"  Got: \"%s\"\n", expected, austrdup(out)
       ); | 
| 1061     free(res); | 1061     free(res); | 
| 1062     if(out != NULL) { | 1062     if(out != NULL) { | 
| 1063         free(out); | 1063         free(out); | 
| 1064     } | 1064     } | 
| 1065 } | 1065 } | 
| 1066 | 1066 | 
| 1067 #endif /* #if !UCONFIG_NO_FORMATTING */ | 1067 #endif /* #if !UCONFIG_NO_FORMATTING */ | 
| OLD | NEW | 
|---|