1977{
1978
1979 static WCHAR unc_jp[9][12] = {
1980 {9,0x31,0x20,0x3042,0x3044,0x3046,0x3048,0x304a,0x000d,0x000a},
1981 {9,0x31,0x20,0x30a2,0x30a4,0x30a6,0x30a8,0x30aa,0x000d,0x000a},
1982 {9,0x31,0x20,0xff71,0xff72,0xff73,0xff74,0xff75,0x000d,0x000a},
1983 {9,0x31,0x20,0x3041,0x3043,0x3045,0x3047,0x3049,0x000d,0x000a},
1984 {9,0x31,0x20,0x30a1,0x30a3,0x30a5,0x30a7,0x30a9,0x000d,0x000a},
1985 {9,0x31,0x20,0xff67,0xff68,0xff69,0xff6a,0xff6b,0x000d,0x000a},
1986 {9,0x31,0x20,0x300c,0x65e5,0x672c,0x8a9e,0x300d,0x000d,0x000a},
1987 {7,0x31,0x20,0x25c7,0x25c7,0x3012,0x000d,0x000a},
1988 {11,0x31,0x20,0x203b,0x3010,0x0074,0x0065,0x0073,0x0074,0x3011,0x000d,0x000a}
1989 };
1990 static CHAR jis_jp[9][27] = {
1991 {20,0x31,0x20,0x1b,0x24,0x42,0x24,0x22,0x24,0x24,0x24,0x26,0x24,0x28,
1992 0x24,0x2a,0x1b,0x28,0x42,0x0d,0x0a},
1993 {20,0x31,0x20,0x1b,0x24,0x42,0x25,0x22,0x25,0x24,0x25,0x26,0x25,0x28,
1994 0x25,0x2a,0x1b,0x28,0x42,0x0d,0x0a},
1995 {20,0x31,0x20,0x1b,0x24,0x42,0x25,0x22,0x25,0x24,0x25,0x26,0x25,0x28,
1996 0x25,0x2a,0x1b,0x28,0x42,0x0d,0x0a},
1997 {20,0x31,0x20,0x1b,0x24,0x42,0x24,0x21,0x24,0x23,0x24,0x25,0x24,0x27,
1998 0x24,0x29,0x1b,0x28,0x42,0x0d,0x0a},
1999 {20,0x31,0x20,0x1b,0x24,0x42,0x25,0x21,0x25,0x23,0x25,0x25,0x25,0x27,
2000 0x25,0x29,0x1b,0x28,0x42,0x0d,0x0a},
2001 {20,0x31,0x20,0x1b,0x24,0x42,0x25,0x21,0x25,0x23,0x25,0x25,0x25,0x27,
2002 0x25,0x29,0x1b,0x28,0x42,0x0d,0x0a},
2003 {20,0x31,0x20,0x1b,0x24,0x42,0x21,0x56,0x46,0x7c,0x4b,0x5c,0x38,0x6c,
2004 0x21,0x57,0x1b,0x28,0x42,0x0d,0x0a},
2005 {16,0x31,0x20,0x1b,0x24,0x42,0x21,0x7e,0x21,0x7e,0x22,0x29,0x1b,0x28,
2006 0x42,0x0d,0x0a},
2007 {26,0x31,0x20,0x1b,0x24,0x42,0x22,0x28,0x21,0x5a,0x1b,0x28,0x42,0x74,
2008 0x65,0x73,0x74,0x1b,0x24,0x42,0x21,0x5b,0x1b,0x28,0x42,0x0d,0x0a}
2009 };
2010 static CHAR sjis_jp[9][15] = {
2011 {14,0x31,0x20,0x82,0xa0,0x82,0xa2,0x82,0xa4,0x82,0xa6,0x82,0xa8,0x0d,0x0a},
2012 {14,0x31,0x20,0x83,0x41,0x83,0x43,0x83,0x45,0x83,0x47,0x83,0x49,0x0d,0x0a},
2013 {9,0x31,0x20,0xb1,0xb2,0xb3,0xb4,0xb5,0x0d,0x0a},
2014 {14,0x31,0x20,0x82,0x9f,0x82,0xa1,0x82,0xa3,0x82,0xa5,0x82,0xa7,0x0d,0x0a},
2015 {14,0x31,0x20,0x83,0x40,0x83,0x42,0x83,0x44,0x83,0x46,0x83,0x48,0x0d,0x0a},
2016 {9,0x31,0x20,0xa7,0xa8,0xa9,0xaa,0xab,0x0d,0x0a},
2017 {14,0x31,0x20,0x81,0x75,0x93,0xfa,0x96,0x7b,0x8c,0xea,0x81,0x76,0x0d,0x0a},
2018 {10,0x31,0x20,0x81,0x9e,0x81,0x9e,0x81,0xa7,0x0d,0x0a},
2019 {14,0x31,0x20,0x81,0xa6,0x81,0x79,0x74,0x65,0x73,0x74,0x81,0x7a,0x0d,0x0a}
2020 };
2021 static CHAR euc_jp[9][15] = {
2022 {14,0x31,0x20,0xa4,0xa2,0xa4,0xa4,0xa4,0xa6,0xa4,0xa8,0xa4,0xaa,0x0d,0x0a},
2023 {14,0x31,0x20,0xa5,0xa2,0xa5,0xa4,0xa5,0xa6,0xa5,0xa8,0xa5,0xaa,0x0d,0x0a},
2024 {14,0x31,0x20,0x8e,0xb1,0x8e,0xb2,0x8e,0xb3,0x8e,0xb4,0x8e,0xb5,0x0d,0x0a},
2025 {14,0x31,0x20,0xa4,0xa1,0xa4,0xa3,0xa4,0xa5,0xa4,0xa7,0xa4,0xa9,0x0d,0x0a},
2026 {14,0x31,0x20,0xa5,0xa1,0xa5,0xa3,0xa5,0xa5,0xa5,0xa7,0xa5,0xa9,0x0d,0x0a},
2027 {14,0x31,0x20,0x8e,0xa7,0x8e,0xa8,0x8e,0xa9,0x8e,0xaa,0x8e,0xab,0x0d,0x0a},
2028 {14,0x31,0x20,0xa1,0xd6,0xc6,0xfc,0xcb,0xdc,0xb8,0xec,0xa1,0xd7,0x0d,0x0a},
2029 {10,0x31,0x20,0xa1,0xfe,0xa1,0xfe,0xa2,0xa9,0x0d,0x0a},
2030 {14,0x31,0x20,0xa2,0xa8,0xa1,0xda,0x74,0x65,0x73,0x74,0xa1,0xdb,0x0d,0x0a}
2031 };
2032
2038 int outlen;
2039
2040
2041 for (
i = 0;
i < 9;
i++)
2042 {
2044 destsz = 30;
2045 outlen = jis_jp[
i][0];
2046 srcsz = unc_jp[
i][0];
2047 hr = pConvertINetUnicodeToMultiByte(
NULL, 50220, &unc_jp[
i][1], &srcsz, output, &destsz);
2049 {
2050 skip(
"Code page identifier 50220 is not supported\n");
2051 break;
2052 }
2053 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08lx\n",
i,
hr);
2054 ok(destsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,destsz);
2055 ok(srcsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],srcsz);
2056 ok(
memcmp(output,&jis_jp[
i][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2057
2058
2059 srcsz = outlen;
2060 destsz = 30;
2061 hr = pConvertINetMultiByteToUnicode(
NULL, 50220, output, &srcsz, outputW,&destsz);
2062
2063
2064
2065
2066
2067
2071
2072 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08lx\n",
i,
hr);
2073 ok(destsz == unc_jp[
j][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
j][0],destsz);
2074 ok(srcsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,srcsz);
2075 ok(
memcmp(outputW,&unc_jp[
j][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2076 }
2077
2078
2079 for (
i = 0;
i < 9;
i++)
2080 {
2081 destsz = 30;
2082 outlen = sjis_jp[
i][0];
2083 srcsz = unc_jp[
i][0];
2084
2085 hr = pConvertINetUnicodeToMultiByte(
NULL, 932, &unc_jp[
i][1], &srcsz, output, &destsz);
2087 {
2088 skip(
"Code page identifier 932 is not supported\n");
2089 break;
2090 }
2091 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08lx\n",
i,
hr);
2092 ok(destsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,destsz);
2093 ok(srcsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],srcsz);
2094 ok(
memcmp(output,&sjis_jp[
i][1],outlen)==0,
"(%i) Strings do not match\n",
i);
2095
2096 srcsz = outlen;
2097 destsz = 30;
2098 hr = pConvertINetMultiByteToUnicode(
NULL, 932, output, &srcsz, outputW,&destsz);
2099
2100 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08lx\n",
i,
hr);
2101 ok(destsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],destsz);
2102 ok(srcsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,srcsz);
2103 ok(
memcmp(outputW,&unc_jp[
i][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2104 }
2105
2106
2107 for (
i = 0;
i < 9;
i++)
2108 {
2109 destsz = 30;
2110 outlen = euc_jp[
i][0];
2111 srcsz = unc_jp[
i][0];
2112
2113 hr = pConvertINetUnicodeToMultiByte(
NULL, 51932, &unc_jp[
i][1], &srcsz, output, &destsz);
2115 {
2116 skip(
"Code page identifier 51932 is not supported\n");
2117 break;
2118 }
2119 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08lx\n",
i,
hr);
2120 ok(destsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,destsz);
2121 ok(srcsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],destsz);
2122 ok(
memcmp(output,&euc_jp[
i][1],outlen)==0,
"(%i) Strings do not match\n",
i);
2123
2124 srcsz = outlen;
2125 destsz = 30;
2126 hr = pConvertINetMultiByteToUnicode(
NULL, 51932, output, &srcsz, outputW,&destsz);
2127
2128 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08lx\n",
i,
hr);
2129 ok(destsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],destsz);
2130 ok(srcsz == outlen,
"(%i) Expected %i, got %i\n",
i,outlen,srcsz);
2131 ok(
memcmp(outputW,&unc_jp[
i][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2132 }
2133
2134
2136 destsz = 30;
2137 srcsz = jis_jp[
i][0];
2138 hr = pConvertINetMultiByteToUnicode(
NULL, 50932, &jis_jp[
i][1], &srcsz, outputW, &destsz);
2140 {
2141 skip(
"Code page identifier 50932 is not supported\n");
2142 return;
2143 }
2144 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08lx\n",
i,
hr);
2145 ok(destsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],destsz);
2146 ok(srcsz == jis_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,jis_jp[
i][0],srcsz);
2147 ok(
memcmp(outputW,&unc_jp[
i][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2148
2150 destsz = 30;
2151 srcsz = sjis_jp[
i][0];
2152 hr = pConvertINetMultiByteToUnicode(
NULL, 50932, &sjis_jp[
i][1], &srcsz, outputW, &destsz);
2153 ok(
hr ==
S_OK,
"(%i) Expected S_OK, got %08lx\n",
i,
hr);
2154 ok(destsz == unc_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,unc_jp[
i][0],destsz);
2155 ok(srcsz == sjis_jp[
i][0],
"(%i) Expected %i, got %i\n",
i,sjis_jp[
i][0],srcsz);
2156 ok(
memcmp(outputW,&unc_jp[
i][1],destsz)==0,
"(%i) Strings do not match\n",
i);
2157}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j