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

Side by Side Diff: source/test/cintltst/ncnvtst.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/idnatest.c ('k') | source/test/cintltst/nfsprep.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 * COPYRIGHT: 2 * COPYRIGHT:
3 * Copyright (c) 1997-2013, 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 CCONVTST.C 8 * File CCONVTST.C
9 * 9 *
10 * Modification History: 10 * Modification History:
11 * Name Description 11 * Name Description
12 * Madhu Katragadda 7/7/2000 Converter Tests for extended c ode coverage 12 * Madhu Katragadda 7/7/2000 Converter Tests for extended c ode coverage
13 ****************************************************************************** 13 ******************************************************************************
14 */ 14 */
15 #include <stdio.h> 15 #include <stdio.h>
16 #include <stdlib.h> 16 #include <stdlib.h>
17 #include <string.h> 17 #include <string.h>
18 #include "unicode/uloc.h" 18 #include "unicode/uloc.h"
19 #include "unicode/ucnv.h" 19 #include "unicode/ucnv.h"
20 #include "unicode/utypes.h" 20 #include "unicode/utypes.h"
21 #include "unicode/ustring.h" 21 #include "unicode/ustring.h"
22 #include "unicode/uset.h" 22 #include "unicode/uset.h"
23 #include "cintltst.h" 23 #include "cintltst.h"
24 #include "cmemory.h"
24 25
25 #define MAX_LENGTH 999 26 #define MAX_LENGTH 999
26 27
27 #define UNICODE_LIMIT 0x10FFFF 28 #define UNICODE_LIMIT 0x10FFFF
28 #define SURROGATE_HIGH_START 0xD800 29 #define SURROGATE_HIGH_START 0xD800
29 #define SURROGATE_LOW_END 0xDFFF 30 #define SURROGATE_LOW_END 0xDFFF
30 31
31 static int32_t gInBufferSize = 0; 32 static int32_t gInBufferSize = 0;
32 static int32_t gOutBufferSize = 0; 33 static int32_t gOutBufferSize = 0;
33 static char gNuConvTestName[1024]; 34 static char gNuConvTestName[1024];
34 35
35 #define nct_min(x,y) ((x<y) ? x : y) 36 #define nct_min(x,y) ((x<y) ? x : y)
36 #define LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0]))
37 37
38 static void printSeq(const unsigned char* a, int len); 38 static void printSeq(const unsigned char* a, int len);
39 static void printSeqErr(const unsigned char* a, int len); 39 static void printSeqErr(const unsigned char* a, int len);
40 static void printUSeq(const UChar* a, int len); 40 static void printUSeq(const UChar* a, int len);
41 static void printUSeqErr(const UChar* a, int len); 41 static void printUSeqErr(const UChar* a, int len);
42 static UBool convertFromU( const UChar *source, int sourceLen, const uint8_t *e xpect, int expectLen, 42 static UBool convertFromU( const UChar *source, int sourceLen, const uint8_t *e xpect, int expectLen,
43 const char *codepage, const int32_t *expectOffsets, UBool doFlus h, UErrorCode expectedStatus); 43 const char *codepage, const int32_t *expectOffsets, UBool doFlus h, UErrorCode expectedStatus);
44 static UBool convertToU( const uint8_t *source, int sourceLen, const UChar *expe ct, int expectLen, 44 static UBool convertToU( const uint8_t *source, int sourceLen, const UChar *expe ct, int expectLen,
45 const char *codepage, const int32_t *expectOffsets, UBool doFlush , UErrorCode expectedStatus); 45 const char *codepage, const int32_t *expectOffsets, UBool doFlush , UErrorCode expectedStatus);
46 46
(...skipping 1738 matching lines...) Expand 10 before | Expand all | Expand 10 after
1785 if(U_FAILURE(errorCode)) { 1785 if(U_FAILURE(errorCode)) {
1786 log_data_err("error TestTruncated: unable to set the stop callback on \" %s\" - %s\n", 1786 log_data_err("error TestTruncated: unable to set the stop callback on \" %s\" - %s\n",
1787 cnvName, u_errorName(errorCode)); 1787 cnvName, u_errorName(errorCode));
1788 ucnv_close(cnv); 1788 ucnv_close(cnv);
1789 return; 1789 return;
1790 } 1790 }
1791 1791
1792 source=(const char *)bytes; 1792 source=(const char *)bytes;
1793 sourceLimit=source+length; 1793 sourceLimit=source+length;
1794 target=buffer; 1794 target=buffer;
1795 targetLimit=buffer+LENGTHOF(buffer); 1795 targetLimit=buffer+UPRV_LENGTHOF(buffer);
1796 1796
1797 /* 1. input bytes with flush=FALSE, then input nothing with flush=TRUE */ 1797 /* 1. input bytes with flush=FALSE, then input nothing with flush=TRUE */
1798 ucnv_toUnicode(cnv, &target, targetLimit, &source, sourceLimit, NULL, FALSE, &errorCode); 1798 ucnv_toUnicode(cnv, &target, targetLimit, &source, sourceLimit, NULL, FALSE, &errorCode);
1799 if(U_FAILURE(errorCode) || source!=sourceLimit || target!=buffer) { 1799 if(U_FAILURE(errorCode) || source!=sourceLimit || target!=buffer) {
1800 log_err("error TestTruncated(%s, 1a): input bytes[%d], flush=FALSE: %s, input left %d, output %d\n", 1800 log_err("error TestTruncated(%s, 1a): input bytes[%d], flush=FALSE: %s, input left %d, output %d\n",
1801 cnvName, length, u_errorName(errorCode), (int)(sourceLimit-sourc e), (int)(target-buffer)); 1801 cnvName, length, u_errorName(errorCode), (int)(sourceLimit-sourc e), (int)(target-buffer));
1802 } 1802 }
1803 1803
1804 errorCode=U_ZERO_ERROR; 1804 errorCode=U_ZERO_ERROR;
1805 source=sourceLimit; 1805 source=sourceLimit;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
1859 1859
1860 { "Shift-JIS", { 0xe0 }, 1 }, 1860 { "Shift-JIS", { 0xe0 }, 1 },
1861 1861
1862 { "ibm-939", { 0x0e, 0x41 }, 2 } /* SO 0x41 */ 1862 { "ibm-939", { 0x0e, 0x41 }, 2 } /* SO 0x41 */
1863 #else 1863 #else
1864 { "BOCU-1", { 0xd5 }, 1 ,} 1864 { "BOCU-1", { 0xd5 }, 1 ,}
1865 #endif 1865 #endif
1866 }; 1866 };
1867 int32_t i; 1867 int32_t i;
1868 1868
1869 for(i=0; i<LENGTHOF(testCases); ++i) { 1869 for(i=0; i<UPRV_LENGTHOF(testCases); ++i) {
1870 doTestTruncated(testCases[i].cnvName, testCases[i].bytes, testCases[i].l ength); 1870 doTestTruncated(testCases[i].cnvName, testCases[i].bytes, testCases[i].l ength);
1871 } 1871 }
1872 } 1872 }
1873 1873
1874 typedef struct NameRange { 1874 typedef struct NameRange {
1875 const char *name; 1875 const char *name;
1876 UChar32 start, end, start2, end2, notStart, notEnd; 1876 UChar32 start, end, start2, end2, notStart, notEnd;
1877 } NameRange; 1877 } NameRange;
1878 1878
1879 static void 1879 static void
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1954 log_err("error: ucnv_getUnicodeSet(%s) failed - %s\n", 1954 log_err("error: ucnv_getUnicodeSet(%s) failed - %s\n",
1955 name, u_errorName(errorCode)); 1955 name, u_errorName(errorCode));
1956 } else if(uset_size(set)==0) { 1956 } else if(uset_size(set)==0) {
1957 log_err("error: ucnv_getUnicodeSet(%s) returns an empty set\n", name ); 1957 log_err("error: ucnv_getUnicodeSet(%s) returns an empty set\n", name );
1958 } 1958 }
1959 1959
1960 ucnv_close(cnv); 1960 ucnv_close(cnv);
1961 } 1961 }
1962 1962
1963 /* test converters that are known to convert all of Unicode (except maybe fo r surrogates) */ 1963 /* test converters that are known to convert all of Unicode (except maybe fo r surrogates) */
1964 for(i=0; i<LENGTHOF(completeSetNames); ++i) { 1964 for(i=0; i<UPRV_LENGTHOF(completeSetNames); ++i) {
1965 errorCode=U_ZERO_ERROR; 1965 errorCode=U_ZERO_ERROR;
1966 name=completeSetNames[i]; 1966 name=completeSetNames[i];
1967 cnv=ucnv_open(name, &errorCode); 1967 cnv=ucnv_open(name, &errorCode);
1968 if(U_FAILURE(errorCode)) { 1968 if(U_FAILURE(errorCode)) {
1969 log_data_err("error: unable to open converter %s - %s\n", 1969 log_data_err("error: unable to open converter %s - %s\n",
1970 name, u_errorName(errorCode)); 1970 name, u_errorName(errorCode));
1971 continue; 1971 continue;
1972 } 1972 }
1973 1973
1974 uset_clear(set); 1974 uset_clear(set);
1975 ucnv_getUnicodeSet(cnv, set, UCNV_ROUNDTRIP_SET, &errorCode); 1975 ucnv_getUnicodeSet(cnv, set, UCNV_ROUNDTRIP_SET, &errorCode);
1976 if(U_FAILURE(errorCode)) { 1976 if(U_FAILURE(errorCode)) {
1977 log_err("error: ucnv_getUnicodeSet(%s) failed - %s\n", 1977 log_err("error: ucnv_getUnicodeSet(%s) failed - %s\n",
1978 name, u_errorName(errorCode)); 1978 name, u_errorName(errorCode));
1979 } else if(!uset_containsRange(set, 0, 0xd7ff) || !uset_containsRange(set , 0xe000, 0x10ffff)) { 1979 } else if(!uset_containsRange(set, 0, 0xd7ff) || !uset_containsRange(set , 0xe000, 0x10ffff)) {
1980 log_err("error: ucnv_getUnicodeSet(%s) does not return an all-Unicod e set\n", name); 1980 log_err("error: ucnv_getUnicodeSet(%s) does not return an all-Unicod e set\n", name);
1981 } 1981 }
1982 1982
1983 ucnv_close(cnv); 1983 ucnv_close(cnv);
1984 } 1984 }
1985 1985
1986 #if !UCONFIG_NO_LEGACY_CONVERSION 1986 #if !UCONFIG_NO_LEGACY_CONVERSION
1987 /* test LMBCS variants which convert all of Unicode except for U+F6xx */ 1987 /* test LMBCS variants which convert all of Unicode except for U+F6xx */
1988 for(i=0; i<LENGTHOF(lmbcsNames); ++i) { 1988 for(i=0; i<UPRV_LENGTHOF(lmbcsNames); ++i) {
1989 errorCode=U_ZERO_ERROR; 1989 errorCode=U_ZERO_ERROR;
1990 name=lmbcsNames[i]; 1990 name=lmbcsNames[i];
1991 cnv=ucnv_open(name, &errorCode); 1991 cnv=ucnv_open(name, &errorCode);
1992 if(U_FAILURE(errorCode)) { 1992 if(U_FAILURE(errorCode)) {
1993 log_data_err("error: unable to open converter %s - %s\n", 1993 log_data_err("error: unable to open converter %s - %s\n",
1994 name, u_errorName(errorCode)); 1994 name, u_errorName(errorCode));
1995 continue; 1995 continue;
1996 } 1996 }
1997 1997
1998 uset_clear(set); 1998 uset_clear(set);
1999 ucnv_getUnicodeSet(cnv, set, UCNV_ROUNDTRIP_SET, &errorCode); 1999 ucnv_getUnicodeSet(cnv, set, UCNV_ROUNDTRIP_SET, &errorCode);
2000 if(U_FAILURE(errorCode)) { 2000 if(U_FAILURE(errorCode)) {
2001 log_err("error: ucnv_getUnicodeSet(%s) failed - %s\n", 2001 log_err("error: ucnv_getUnicodeSet(%s) failed - %s\n",
2002 name, u_errorName(errorCode)); 2002 name, u_errorName(errorCode));
2003 } else if(!uset_containsRange(set, 0, 0xf5ff) || !uset_containsRange(set , 0xf700, 0x10ffff)) { 2003 } else if(!uset_containsRange(set, 0, 0xf5ff) || !uset_containsRange(set , 0xf700, 0x10ffff)) {
2004 log_err("error: ucnv_getUnicodeSet(%s) does not return an all-Unicod e set (minus U+F6xx)\n", name); 2004 log_err("error: ucnv_getUnicodeSet(%s) does not return an all-Unicod e set (minus U+F6xx)\n", name);
2005 } 2005 }
2006 2006
2007 ucnv_close(cnv); 2007 ucnv_close(cnv);
2008 } 2008 }
2009 #endif 2009 #endif
2010 2010
2011 /* test specific sets */ 2011 /* test specific sets */
2012 for(i=0; i<LENGTHOF(nameRanges); ++i) { 2012 for(i=0; i<UPRV_LENGTHOF(nameRanges); ++i) {
2013 errorCode=U_ZERO_ERROR; 2013 errorCode=U_ZERO_ERROR;
2014 name=nameRanges[i].name; 2014 name=nameRanges[i].name;
2015 cnv=ucnv_open(name, &errorCode); 2015 cnv=ucnv_open(name, &errorCode);
2016 if(U_FAILURE(errorCode)) { 2016 if(U_FAILURE(errorCode)) {
2017 log_data_err("error: unable to open converter %s - %s\n", 2017 log_data_err("error: unable to open converter %s - %s\n",
2018 name, u_errorName(errorCode)); 2018 name, u_errorName(errorCode));
2019 continue; 2019 continue;
2020 } 2020 }
2021 2021
2022 uset_clear(set); 2022 uset_clear(set);
(...skipping 24 matching lines...) Expand all
2047 } 2047 }
2048 errorCode = U_PARSE_ERROR; 2048 errorCode = U_PARSE_ERROR;
2049 /* Make sure that it does nothing if an error is passed in. Difficult to pro per test for. */ 2049 /* Make sure that it does nothing if an error is passed in. Difficult to pro per test for. */
2050 ucnv_getUnicodeSet(NULL, NULL, UCNV_ROUNDTRIP_SET, &errorCode); 2050 ucnv_getUnicodeSet(NULL, NULL, UCNV_ROUNDTRIP_SET, &errorCode);
2051 if (errorCode != U_PARSE_ERROR) { 2051 if (errorCode != U_PARSE_ERROR) {
2052 log_err("error: ucnv_getUnicodeSet(NULL) returned wrong status code %s\n ", u_errorName(errorCode)); 2052 log_err("error: ucnv_getUnicodeSet(NULL) returned wrong status code %s\n ", u_errorName(errorCode));
2053 } 2053 }
2054 2054
2055 uset_close(set); 2055 uset_close(set);
2056 } 2056 }
OLDNEW
« no previous file with comments | « source/test/cintltst/idnatest.c ('k') | source/test/cintltst/nfsprep.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698