| OLD | NEW | 
|    1 /******************************************************************** |    1 /******************************************************************** | 
|    2  * COPYRIGHT:  |    2  * COPYRIGHT:  | 
|    3  * Copyright (c) 1997-2010, International Business Machines Corporation and |    3  * Copyright (c) 1997-2014, International Business Machines Corporation and | 
|    4  * others. All Rights Reserved. |    4  * others. All Rights Reserved. | 
|    5  ********************************************************************/ |    5  ********************************************************************/ | 
|    6 /*******************************************************************************
     * |    6 /*******************************************************************************
     * | 
|    7 * |    7 * | 
|    8 * File CG7COLL.C |    8 * File CG7COLL.C | 
|    9 * |    9 * | 
|   10 * Modification History: |   10 * Modification History: | 
|   11 *        Name                     Description             |   11 *        Name                     Description             | 
|   12 *     Madhu Katragadda            Ported for C API |   12 *     Madhu Katragadda            Ported for C API | 
|   13 ********************************************************************************
     */ |   13 ********************************************************************************
     */ | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
|   43 #if !UCONFIG_NO_COLLATION |   43 #if !UCONFIG_NO_COLLATION | 
|   44  |   44  | 
|   45 #include "unicode/ucol.h" |   45 #include "unicode/ucol.h" | 
|   46 #include "unicode/uloc.h" |   46 #include "unicode/uloc.h" | 
|   47 #include "cintltst.h" |   47 #include "cintltst.h" | 
|   48 #include "cg7coll.h" |   48 #include "cg7coll.h" | 
|   49 #include "ccolltst.h" |   49 #include "ccolltst.h" | 
|   50 #include "callcoll.h" |   50 #include "callcoll.h" | 
|   51 #include "unicode/ustring.h" |   51 #include "unicode/ustring.h" | 
|   52  |   52  | 
|   53  |  | 
|   54 const char* locales[8] = { |   53 const char* locales[8] = { | 
|   55         "en_US", |   54         "en_US", | 
|   56         "en_GB", |   55         "en_GB", | 
|   57         "en_CA", |   56         "en_CA", | 
|   58         "fr_FR", |   57         "fr_FR", | 
|   59         "fr_CA", |   58         "fr_CA", | 
|   60         "de_DE", |   59         "de_DE", | 
|   61         "it_IT", |   60         "it_IT", | 
|   62         "ja_JP" |   61         "ja_JP" | 
|   63 }; |   62 }; | 
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  129     addTest(root, &TestDemo1, "tscoll/cg7coll/TestDemo1"); |  128     addTest(root, &TestDemo1, "tscoll/cg7coll/TestDemo1"); | 
|  130     addTest(root, &TestDemo2, "tscoll/cg7coll/TestDemo2"); |  129     addTest(root, &TestDemo2, "tscoll/cg7coll/TestDemo2"); | 
|  131     addTest(root, &TestDemo3, "tscoll/cg7coll/TestDemo3"); |  130     addTest(root, &TestDemo3, "tscoll/cg7coll/TestDemo3"); | 
|  132     addTest(root, &TestDemo4, "tscoll/cg7coll/TestDemo4"); |  131     addTest(root, &TestDemo4, "tscoll/cg7coll/TestDemo4"); | 
|  133  |  132  | 
|  134      |  133      | 
|  135 } |  134 } | 
|  136  |  135  | 
|  137 static void TestG7Locales() |  136 static void TestG7Locales() | 
|  138 { |  137 { | 
|  139     UCollator *myCollation, *tblColl1; |  138     UCollator *myCollation; | 
|  140     UErrorCode status = U_ZERO_ERROR; |  139     UErrorCode status = U_ZERO_ERROR; | 
|  141     const UChar *defRules; |  140     const UChar *defRules; | 
|  142     int32_t i, rlen, j, n; |  141     int32_t i, rlen, j, n; | 
|  143     log_verbose("Testing  ucol_openRules for all the locales\n"); |  142     log_verbose("Testing  ucol_openRules for all the locales\n"); | 
|  144     for (i = 0; i < 8; i++) |  143     for (i = 0; i < UPRV_LENGTHOF(locales); i++) | 
|  145     { |  144     { | 
 |  145         const char *locale = locales[i]; | 
|  146         status = U_ZERO_ERROR; |  146         status = U_ZERO_ERROR; | 
|  147         myCollation = ucol_open(locales[i], &status); |  147         myCollation = ucol_open(locale, &status); | 
|  148         ucol_setAttribute(myCollation, UCOL_STRENGTH, UCOL_QUATERNARY, &status); |  148         ucol_setAttribute(myCollation, UCOL_STRENGTH, UCOL_QUATERNARY, &status); | 
|  149         ucol_setAttribute(myCollation, UCOL_ALTERNATE_HANDLING, UCOL_SHIFTED, &s
     tatus); |  149         ucol_setAttribute(myCollation, UCOL_ALTERNATE_HANDLING, UCOL_SHIFTED, &s
     tatus); | 
|  150  |  150  | 
|  151         if (U_FAILURE(status)) |  151         if (U_FAILURE(status)) | 
|  152         { |  152         { | 
|  153             log_err_status(status, "Error in creating collator in %s:  %s\n", lo
     cales[i], myErrorName(status)); |  153             log_err_status(status, "Error in creating collator in %s:  %s\n", lo
     cale, myErrorName(status)); | 
 |  154             ucol_close(myCollation); | 
|  154             continue; |  155             continue; | 
|  155         } |  156         } | 
|  156  |  157  | 
|  157         defRules = ucol_getRules(myCollation, &rlen); |  158         defRules = ucol_getRules(myCollation, &rlen); | 
|  158         status = U_ZERO_ERROR; |  159         if (rlen == 0 && (strcmp(locale, "fr_CA") == 0 || strcmp(locale, "ja_JP"
     ) == 0)) { | 
|  159         tblColl1 = ucol_openRules(defRules, rlen, UCOL_OFF, |  160             log_data_err("%s UCollator missing rule string\n", locale); | 
|  160                    UCOL_DEFAULT_STRENGTH,NULL, &status); |  161             if (log_knownIssue("10671", "TestG7Locales does not test ignore-punc
     tuation")) { | 
|  161         if (U_FAILURE(status)) |  162                 ucol_close(myCollation); | 
|  162         { |  163                 continue; | 
 |  164             } | 
 |  165         } else { | 
 |  166             UCollator *tblColl1; | 
 |  167             status = U_ZERO_ERROR; | 
 |  168             tblColl1 = ucol_openRules(defRules, rlen, UCOL_OFF, | 
 |  169                     UCOL_DEFAULT_STRENGTH,NULL, &status); | 
|  163             ucol_close(myCollation); |  170             ucol_close(myCollation); | 
|  164             log_err_status(status, "Error in creating collator in %s:  %s\n", lo
     cales[i], myErrorName(status)); |  171             if (U_FAILURE(status)) | 
|  165             continue; |  172             { | 
 |  173                 log_err_status(status, "Error in creating collator in %s:  %s\n"
     , locale, myErrorName(status)); | 
 |  174                 continue; | 
 |  175             } | 
 |  176             myCollation = tblColl1; | 
|  166         } |  177         } | 
|  167  |  178  | 
|  168          |  | 
|  169         log_verbose("Locale  %s\n", locales[i]); |  179         log_verbose("Locale  %s\n", locales[i]); | 
|  170         log_verbose("  tests start...\n"); |  180         log_verbose("  tests start...\n"); | 
|  171  |  181  | 
|  172         j = 0; |  182         j = 0; | 
|  173         n = 0; |  183         n = 0; | 
|  174         for (j = 0; j < FIXEDTESTSET; j++) |  184         for (j = 0; j < FIXEDTESTSET; j++) | 
|  175         { |  185         { | 
|  176             for (n = j+1; n < FIXEDTESTSET; n++) |  186             for (n = j+1; n < FIXEDTESTSET; n++) | 
|  177             { |  187             { | 
|  178                 doTest(tblColl1, testCases[results[i][j]], testCases[results[i][
     n]], UCOL_LESS); |  188                 doTest(myCollation, testCases[results[i][j]], testCases[results[
     i][n]], UCOL_LESS); | 
|  179             } |  189             } | 
|  180         } |  190         } | 
|  181  |  191  | 
|  182         ucol_close(myCollation); |  192         ucol_close(myCollation); | 
|  183         ucol_close(tblColl1); |  | 
|  184     } |  193     } | 
|  185 } |  194 } | 
|  186  |  195  | 
|  187 static void TestDemo1() |  196 static void TestDemo1() | 
|  188 { |  197 { | 
|  189     UCollator *myCollation; |  198     UCollator *myCollation; | 
|  190     int32_t j, n; |  199     int32_t j, n; | 
|  191     static const char rules[] = "& Z < p, P"; |  200     static const char rules[] = "& Z < p, P"; | 
|  192     int32_t len=(int32_t)strlen(rules); |  201     int32_t len=(int32_t)strlen(rules); | 
|  193     UChar temp[sizeof(rules)]; |  202     UChar temp[sizeof(rules)]; | 
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  297     { |  306     { | 
|  298         for (n = j+1; n < TOTALTESTSET; n++) |  307         for (n = j+1; n < TOTALTESTSET; n++) | 
|  299         { |  308         { | 
|  300             doTest(myCollation, testCases[results[11][j]], testCases[results[11]
     [n]], UCOL_LESS); |  309             doTest(myCollation, testCases[results[11][j]], testCases[results[11]
     [n]], UCOL_LESS); | 
|  301         } |  310         } | 
|  302     } |  311     } | 
|  303     ucol_close(myCollation);  |  312     ucol_close(myCollation);  | 
|  304 } |  313 } | 
|  305  |  314  | 
|  306 #endif /* #if !UCONFIG_NO_COLLATION */ |  315 #endif /* #if !UCONFIG_NO_COLLATION */ | 
| OLD | NEW |