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

Side by Side Diff: source/test/cintltst/cstrcase.c

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 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 unified diff | Download patch
« no previous file with comments | « source/test/cintltst/creststn.c ('k') | source/test/cintltst/cstrtest.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 ******************************************************************************* 2 *******************************************************************************
3 * 3 *
4 * Copyright (C) 2002-2013, International Business Machines 4 * Copyright (C) 2002-2014, International Business Machines
5 * Corporation and others. All Rights Reserved. 5 * Corporation and others. All Rights Reserved.
6 * 6 *
7 ******************************************************************************* 7 *******************************************************************************
8 * file name: cstrcase.c 8 * file name: cstrcase.c
9 * encoding: US-ASCII 9 * encoding: US-ASCII
10 * tab size: 8 (not used) 10 * tab size: 8 (not used)
11 * indentation:4 11 * indentation:4
12 * 12 *
13 * created on: 2002feb21 13 * created on: 2002feb21
14 * created by: Markus W. Scherer 14 * created by: Markus W. Scherer
15 * 15 *
16 * Test file for string casing C API functions. 16 * Test file for string casing C API functions.
17 */ 17 */
18 18
19 #include <string.h> 19 #include <string.h>
20 #include "unicode/utypes.h" 20 #include "unicode/utypes.h"
21 #include "unicode/uchar.h" 21 #include "unicode/uchar.h"
22 #include "unicode/ustring.h" 22 #include "unicode/ustring.h"
23 #include "unicode/uloc.h" 23 #include "unicode/uloc.h"
24 #include "unicode/ubrk.h" 24 #include "unicode/ubrk.h"
25 #include "unicode/ucasemap.h" 25 #include "unicode/ucasemap.h"
26 #include "cmemory.h" 26 #include "cmemory.h"
27 #include "cintltst.h" 27 #include "cintltst.h"
28 28
29 #define LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0]))
30
31 /* test string case mapping functions --------------------------------------- */ 29 /* test string case mapping functions --------------------------------------- */
32 30
33 static void 31 static void
34 TestCaseLower(void) { 32 TestCaseLower(void) {
35 static const UChar 33 static const UChar
36 34
37 beforeLower[]= { 0x61, 0x42, 0x49, 0x3a3, 0xdf, 0x3a3, 0x2f, 0xd93f, 0xdfff }, 35 beforeLower[]= { 0x61, 0x42, 0x49, 0x3a3, 0xdf, 0x3a3, 0x2f, 0xd93f, 0xdfff },
38 lowerRoot[]= { 0x61, 0x62, 0x69, 0x3c3, 0xdf, 0x3c2, 0x2f, 0xd93f, 0xdfff }, 36 lowerRoot[]= { 0x61, 0x62, 0x69, 0x3c3, 0xdf, 0x3c2, 0x2f, 0xd93f, 0xdfff },
39 lowerTurkish[]={ 0x61, 0x62, 0x131, 0x3c3, 0xdf, 0x3c2, 0x2f, 0xd93f, 0xdfff }; 37 lowerTurkish[]={ 0x61, 0x62, 0x131, 0x3c3, 0xdf, 0x3c2, 0x2f, 0xd93f, 0xdfff };
40 38
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 log_err("ucasemap_open(\"\") failed - %s\n", u_errorName(errorCode)); 882 log_err("ucasemap_open(\"\") failed - %s\n", u_errorName(errorCode));
885 return; 883 return;
886 } 884 }
887 885
888 iter=ucasemap_getBreakIterator(csm); 886 iter=ucasemap_getBreakIterator(csm);
889 if(iter!=NULL) { 887 if(iter!=NULL) {
890 log_err("ucasemap_getBreakIterator() returns %p!=NULL before setting any iterator or titlecasing\n", iter); 888 log_err("ucasemap_getBreakIterator() returns %p!=NULL before setting any iterator or titlecasing\n", iter);
891 } 889 }
892 890
893 /* Use default UBreakIterator: Word breaks. */ 891 /* Use default UBreakIterator: Word breaks. */
894 length=ucasemap_toTitle(csm, buffer, LENGTHOF(buffer), beforeTitle, LENGTHOF (beforeTitle), &errorCode); 892 length=ucasemap_toTitle(csm, buffer, UPRV_LENGTHOF(buffer), beforeTitle, UPR V_LENGTHOF(beforeTitle), &errorCode);
895 if( U_FAILURE(errorCode) || 893 if( U_FAILURE(errorCode) ||
896 length!=LENGTHOF(titleWord) || 894 length!=UPRV_LENGTHOF(titleWord) ||
897 0!=u_memcmp(buffer, titleWord, length) || 895 0!=u_memcmp(buffer, titleWord, length) ||
898 buffer[length]!=0 896 buffer[length]!=0
899 ) { 897 ) {
900 log_err_status(errorCode, "ucasemap_toTitle(default iterator)=%ld failed - %s\n", (long)length, u_errorName(errorCode)); 898 log_err_status(errorCode, "ucasemap_toTitle(default iterator)=%ld failed - %s\n", (long)length, u_errorName(errorCode));
901 } 899 }
902 if (U_SUCCESS(errorCode)) { 900 if (U_SUCCESS(errorCode)) {
903 iter=ucasemap_getBreakIterator(csm); 901 iter=ucasemap_getBreakIterator(csm);
904 if(iter==NULL) { 902 if(iter==NULL) {
905 log_err("ucasemap_getBreakIterator() returns NULL after titlecasing\ n"); 903 log_err("ucasemap_getBreakIterator() returns NULL after titlecasing\ n");
906 } 904 }
907 } 905 }
908 906
909 /* Try U_TITLECASE_NO_BREAK_ADJUSTMENT. */ 907 /* Try U_TITLECASE_NO_BREAK_ADJUSTMENT. */
910 ucasemap_setOptions(csm, U_TITLECASE_NO_BREAK_ADJUSTMENT, &errorCode); 908 ucasemap_setOptions(csm, U_TITLECASE_NO_BREAK_ADJUSTMENT, &errorCode);
911 if(U_FAILURE(errorCode)) { 909 if(U_FAILURE(errorCode)) {
912 log_err_status(errorCode, "error: ucasemap_setOptions(U_TITLECASE_NO_BRE AK_ADJUSTMENT) failed - %s\n", u_errorName(errorCode)); 910 log_err_status(errorCode, "error: ucasemap_setOptions(U_TITLECASE_NO_BRE AK_ADJUSTMENT) failed - %s\n", u_errorName(errorCode));
913 return; 911 return;
914 } 912 }
915 913
916 length=ucasemap_toTitle(csm, buffer, LENGTHOF(buffer), beforeTitle, LENGTHOF (beforeTitle), &errorCode); 914 length=ucasemap_toTitle(csm, buffer, UPRV_LENGTHOF(buffer), beforeTitle, UPR V_LENGTHOF(beforeTitle), &errorCode);
917 if( U_FAILURE(errorCode) || 915 if( U_FAILURE(errorCode) ||
918 length!=LENGTHOF(titleWordNoAdjust) || 916 length!=UPRV_LENGTHOF(titleWordNoAdjust) ||
919 0!=u_memcmp(buffer, titleWordNoAdjust, length) || 917 0!=u_memcmp(buffer, titleWordNoAdjust, length) ||
920 buffer[length]!=0 918 buffer[length]!=0
921 ) { 919 ) {
922 log_err("ucasemap_toTitle(default iterator, no break adjustment)=%ld fai led - %s\n", (long)length, u_errorName(errorCode)); 920 log_err("ucasemap_toTitle(default iterator, no break adjustment)=%ld fai led - %s\n", (long)length, u_errorName(errorCode));
923 } 921 }
924 922
925 /* Set a sentence break iterator. */ 923 /* Set a sentence break iterator. */
926 errorCode=U_ZERO_ERROR; 924 errorCode=U_ZERO_ERROR;
927 sentenceIter=ubrk_open(UBRK_SENTENCE, "", NULL, 0, &errorCode); 925 sentenceIter=ubrk_open(UBRK_SENTENCE, "", NULL, 0, &errorCode);
928 if(U_FAILURE(errorCode)) { 926 if(U_FAILURE(errorCode)) {
(...skipping 13 matching lines...) Expand all
942 log_err("ucasemap_getBreakIterator() returns %p!=%p after setting the it erator\n", iter, sentenceIter); 940 log_err("ucasemap_getBreakIterator() returns %p!=%p after setting the it erator\n", iter, sentenceIter);
943 } 941 }
944 942
945 ucasemap_setOptions(csm, U_TITLECASE_NO_LOWERCASE, &errorCode); 943 ucasemap_setOptions(csm, U_TITLECASE_NO_LOWERCASE, &errorCode);
946 if(U_FAILURE(errorCode)) { 944 if(U_FAILURE(errorCode)) {
947 log_err("error: ucasemap_setOptions(U_TITLECASE_NO_LOWERCASE) failed - % s\n", u_errorName(errorCode)); 945 log_err("error: ucasemap_setOptions(U_TITLECASE_NO_LOWERCASE) failed - % s\n", u_errorName(errorCode));
948 return; 946 return;
949 } 947 }
950 948
951 /* Use the sentence break iterator with the option. Preflight first. */ 949 /* Use the sentence break iterator with the option. Preflight first. */
952 length=ucasemap_toTitle(csm, NULL, 0, beforeTitle, LENGTHOF(beforeTitle), &e rrorCode); 950 length=ucasemap_toTitle(csm, NULL, 0, beforeTitle, UPRV_LENGTHOF(beforeTitle ), &errorCode);
953 if( errorCode!=U_BUFFER_OVERFLOW_ERROR || 951 if( errorCode!=U_BUFFER_OVERFLOW_ERROR ||
954 length!=LENGTHOF(titleSentNoLower) 952 length!=UPRV_LENGTHOF(titleSentNoLower)
955 ) { 953 ) {
956 log_err("ucasemap_toTitle(preflight sentence break iterator, no lowercas ing)=%ld failed - %s\n", (long)length, u_errorName(errorCode)); 954 log_err("ucasemap_toTitle(preflight sentence break iterator, no lowercas ing)=%ld failed - %s\n", (long)length, u_errorName(errorCode));
957 } 955 }
958 956
959 errorCode=U_ZERO_ERROR; 957 errorCode=U_ZERO_ERROR;
960 buffer[0]=0; 958 buffer[0]=0;
961 length=ucasemap_toTitle(csm, buffer, LENGTHOF(buffer), beforeTitle, LENGTHOF (beforeTitle), &errorCode); 959 length=ucasemap_toTitle(csm, buffer, UPRV_LENGTHOF(buffer), beforeTitle, UPR V_LENGTHOF(beforeTitle), &errorCode);
962 if( U_FAILURE(errorCode) || 960 if( U_FAILURE(errorCode) ||
963 length!=LENGTHOF(titleSentNoLower) || 961 length!=UPRV_LENGTHOF(titleSentNoLower) ||
964 0!=u_memcmp(buffer, titleSentNoLower, length) || 962 0!=u_memcmp(buffer, titleSentNoLower, length) ||
965 buffer[length]!=0 963 buffer[length]!=0
966 ) { 964 ) {
967 log_err("ucasemap_toTitle(sentence break iterator, no lowercasing)=%ld f ailed - %s\n", (long)length, u_errorName(errorCode)); 965 log_err("ucasemap_toTitle(sentence break iterator, no lowercasing)=%ld f ailed - %s\n", (long)length, u_errorName(errorCode));
968 } 966 }
969 967
970 /* UTF-8 C API coverage. More thorough test via C++ intltest's StringCaseTes t::TestCasing(). */ 968 /* UTF-8 C API coverage. More thorough test via C++ intltest's StringCaseTes t::TestCasing(). */
971 { 969 {
972 char utf8BeforeTitle[64], utf8TitleSentNoLower[64], utf8[64]; 970 char utf8BeforeTitle[64], utf8TitleSentNoLower[64], utf8[64];
973 int32_t utf8BeforeTitleLength, utf8TitleSentNoLowerLength; 971 int32_t utf8BeforeTitleLength, utf8TitleSentNoLowerLength;
974 972
975 errorCode=U_ZERO_ERROR; 973 errorCode=U_ZERO_ERROR;
976 u_strToUTF8(utf8BeforeTitle, (int32_t)sizeof(utf8BeforeTitle), &utf8Befo reTitleLength, beforeTitle, LENGTHOF(beforeTitle), &errorCode); 974 u_strToUTF8(utf8BeforeTitle, (int32_t)sizeof(utf8BeforeTitle), &utf8Befo reTitleLength, beforeTitle, UPRV_LENGTHOF(beforeTitle), &errorCode);
977 u_strToUTF8(utf8TitleSentNoLower, (int32_t)sizeof(utf8TitleSentNoLower), &utf8TitleSentNoLowerLength, titleSentNoLower, LENGTHOF(titleSentNoLower), &err orCode); 975 u_strToUTF8(utf8TitleSentNoLower, (int32_t)sizeof(utf8TitleSentNoLower), &utf8TitleSentNoLowerLength, titleSentNoLower, UPRV_LENGTHOF(titleSentNoLower), &errorCode);
978 976
979 length=ucasemap_utf8ToTitle(csm, utf8, (int32_t)sizeof(utf8), utf8Before Title, utf8BeforeTitleLength, &errorCode); 977 length=ucasemap_utf8ToTitle(csm, utf8, (int32_t)sizeof(utf8), utf8Before Title, utf8BeforeTitleLength, &errorCode);
980 if( U_FAILURE(errorCode) || 978 if( U_FAILURE(errorCode) ||
981 length!=utf8TitleSentNoLowerLength || 979 length!=utf8TitleSentNoLowerLength ||
982 0!=uprv_memcmp(utf8, utf8TitleSentNoLower, length) || 980 0!=uprv_memcmp(utf8, utf8TitleSentNoLower, length) ||
983 utf8[length]!=0 981 utf8[length]!=0
984 ) { 982 ) {
985 log_err("ucasemap_utf8ToTitle(sentence break iterator, no lowercasin g)=%ld failed - %s\n", (long)length, u_errorName(errorCode)); 983 log_err("ucasemap_utf8ToTitle(sentence break iterator, no lowercasin g)=%ld failed - %s\n", (long)length, u_errorName(errorCode));
986 } 984 }
987 } 985 }
(...skipping 13 matching lines...) Expand all
1001 addTest(root, &TestCaseTitle, "tsutil/cstrcase/TestCaseTitle"); 999 addTest(root, &TestCaseTitle, "tsutil/cstrcase/TestCaseTitle");
1002 addTest(root, &TestCaseDutchTitle, "tsutil/cstrcase/TestCaseDutchTitle"); 1000 addTest(root, &TestCaseDutchTitle, "tsutil/cstrcase/TestCaseDutchTitle");
1003 #endif 1001 #endif
1004 addTest(root, &TestCaseFolding, "tsutil/cstrcase/TestCaseFolding"); 1002 addTest(root, &TestCaseFolding, "tsutil/cstrcase/TestCaseFolding");
1005 addTest(root, &TestCaseCompare, "tsutil/cstrcase/TestCaseCompare"); 1003 addTest(root, &TestCaseCompare, "tsutil/cstrcase/TestCaseCompare");
1006 addTest(root, &TestUCaseMap, "tsutil/cstrcase/TestUCaseMap"); 1004 addTest(root, &TestUCaseMap, "tsutil/cstrcase/TestUCaseMap");
1007 #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILE_IO 1005 #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILE_IO
1008 addTest(root, &TestUCaseMapToTitle, "tsutil/cstrcase/TestUCaseMapToTitle"); 1006 addTest(root, &TestUCaseMapToTitle, "tsutil/cstrcase/TestUCaseMapToTitle");
1009 #endif 1007 #endif
1010 } 1008 }
OLDNEW
« no previous file with comments | « source/test/cintltst/creststn.c ('k') | source/test/cintltst/cstrtest.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698