📄 i18nmb.c
字号:
CYG_TEST_PASS_FAIL( *wcptr == mbtowcjis0[j], "*wcptr");
ptr += result;
wcptr++;
++j;
}
CYG_TEST_PASS_FAIL( wcptr - wcbuff == 7, "wcptr - wcbuff");
CYG_TEST_PASS_FAIL( wcbuff[6] == 0, "wcbuff[6]");
memset (buff, 'K', 40);
ptr = buff;
wcptr = wcbuff;
result = 1;
for (i = 0; i < 7; ++i)
{
result = wctomb (ptr, *wcptr);
ptr += result;
wcptr++;
}
CYG_TEST_PASS_FAIL( strcmp(testjis[0], buff) == 0, "strcmp(testjis[0], buff");
result = wctomb (buff, (wchar_t)0x1111);
CYG_TEST_PASS_FAIL( result == -1, "wctomb(buff, (wchar_t)0x1111)");
result = mbstowcs (wcbuff, testjis[3], 8);
CYG_TEST_PASS_FAIL( result == -1, "mbstowcs(wcbuff, testjis[3], 8)");
memset (wcbuff, 'K', 40);
result = mbstowcs (wcbuff, testjis[0], 8);
CYG_TEST_PASS_FAIL( result == 6, "mbstowcs(wcbuff, testjis[0], 8)");
CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[7])) == 'K', "*((char *)(&wcbuff[7]))");
CYG_TEST_PASS_FAIL( wcbuff[6] == 0, "wcbuff[6]");
memset (wcbuff, 'K', 40);
result = mbstowcs (wcbuff, testjis[0], 6);
CYG_TEST_PASS_FAIL( result == 6, "mbstowcs (wcbuff, testjis[0], 6)");
CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[6])) == 'K', "*((char *)(&wcbuff[6]))");
memset (wcbuff, 'K', 40);
result = mbstowcs (wcbuff, testjis[0], 7);
CYG_TEST_PASS_FAIL( result == 6, "mbstowcs (wcbuff, testjis[0], 7)");
CYG_TEST_PASS_FAIL(*((char *)(&wcbuff[7])) == 'K', "*((char *)(&wcbuff[7]))");
CYG_TEST_PASS_FAIL( wcbuff[6] == 0, "wcbuff[6]");
memset(buff, 'K', 20);
result = wcstombs (buff, wcbuff, 20);
CYG_TEST_PASS_FAIL( result == 14, "wcstombs (buff, wcbuff, 20)");
CYG_TEST_PASS_FAIL( strcmp(buff, testjis[0]) == 0, "strcmp(buff, testjis[0])");
memset (buff, 'K', 20);
result = wcstombs (buff, wcbuff, 14);
CYG_TEST_PASS_FAIL( result == 14, "wcstombs (buff, wcbuff, 14)");
CYG_TEST_PASS_FAIL( memcmp (buff, testjis[0], 14) == 0, "memcmp (buff, testjis[0], 14)");
CYG_TEST_PASS_FAIL( buff[14] == 'K', "buff[14]");
memset (buff, 'K', 20);
result = wcstombs (buff, wcbuff, 15);
CYG_TEST_PASS_FAIL( result == 14, "wcstombs (buff, wcbuff, 15)");
CYG_TEST_PASS_FAIL( memcmp (buff, testjis[0], 14) == 0, "memcmp (buff, testjis[0], 14)");
CYG_TEST_PASS_FAIL( buff[14] == '\0', "buff[14]");
result = wcstombs (buff, (wchar_t *)"\x23\x10", 2);
CYG_TEST_PASS_FAIL( result == -1, "wcstombs (buff, (wchar_t *)\"\x23\x10\", 2)");
result = sscanf (in_jis, fmt_jis, &k);
CYG_TEST_PASS_FAIL( result == 1, "sscanf (in_jis, fmt_jis, &k)");
CYG_TEST_PASS_FAIL( k == 23, "k");
sprintf (buff, fmt_jis, 23);
CYG_TEST_PASS_FAIL( strcmp(buff, in_jis) == 0, "sprintf(buff, fmt_jis, 23)");
locale = setlocale(LC_ALL, "C");
locale = setlocale(LC_CTYPE, NULL);
CYG_TEST_PASS_FAIL( strcmp(locale, "C") == 0, "previous locale");
CYG_TEST_PASS_FAIL( MB_CUR_MAX == 1, "MB_CUR_MAX");
#endif /* CYGFUN_LIBC_I18N_LOCALE_C_JIS */
#ifdef CYGFUN_LIBC_I18N_LOCALE_C_SJIS
CYG_TEST_INFO( "Testing C-SJIS locale" );
locale = setlocale (LC_CTYPE, "C-SJIS");
CYG_TEST_PASS_FAIL( locale != NULL, "setlocale (LC_CTYPE, \"C-SJIS\")");
CYG_TEST_PASS_FAIL( strcmp(locale, "C-SJIS") == 0, "setlocale(LC_CTYPE, \"C-SJIS\")");
locale = setlocale (LC_CTYPE, NULL);
CYG_TEST_PASS_FAIL( strcmp(locale, "C-SJIS") == 0, "setlocale(LC_CTYPE, NULL)");
CYG_TEST_PASS_FAIL( MB_CUR_MAX == 2, "MB_CUR_MAX");
CYG_TEST_PASS_FAIL( mblen(NULL, 0) == 0, "mblen(NULL, 0)");
CYG_TEST_PASS_FAIL( mbtowc(NULL, NULL, 0) == 0, "mbtowc(NULL, NULL, 0)");
CYG_TEST_PASS_FAIL( wctomb(NULL, 0) == 0, "wctomb(NULL, 0)");
for (i = 0; i < sizeof(testsjis) / sizeof(char *); ++i)
{
ptr = testsjis[i];
result = 1;
j = 0;
while (result > 0)
{
result = mblen (ptr, MB_CUR_MAX);
CYG_TEST_PASS_FAIL( result == mblensjis[i][j], "mblen (ptr, MB_CUR_MAX)");
ptr += result;
++j;
}
}
ptr = testsjis[0];
wcptr = wcbuff;
memset(wcbuff, 'K', 40);
result = 1;
j = 0;
while (result > 0)
{
result = mbtowc (wcptr, ptr, MB_CUR_MAX);
CYG_TEST_PASS_FAIL( result == mblensjis0[j], "mbtowc (wcptr, ptr, MB_CUR_MAX)");
CYG_TEST_PASS_FAIL( *wcptr == mbtowcsjis0[j], "*wcptr");
ptr += result;
wcptr++;
++j;
}
CYG_TEST_PASS_FAIL( wcptr - wcbuff == 9, "wcptr - wcbuff");
CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]");
memset (buff, 'K', 40);
ptr = buff;
wcptr = wcbuff;
result = 1;
for (i = 0; i < 9; ++i)
{
result = wctomb (ptr, *wcptr);
ptr += result;
wcptr++;
}
CYG_TEST_PASS_FAIL( strcmp(testsjis[0], buff) == 0, "strcmp(testsjis[0], buff");
result = wctomb (buff, (wchar_t)0x1111);
CYG_TEST_PASS_FAIL( result == -1, "wctomb(buff, (wchar_t)0x1111)");
result = mbstowcs (wcbuff, testsjis[5], 8);
CYG_TEST_PASS_FAIL( result == -1, "mbstowcs(wcbuff, testjis[3], 8)");
memset (wcbuff, 'K', 40);
result = mbstowcs (wcbuff, testsjis[0], 20);
CYG_TEST_PASS_FAIL( result == 8, "mbstowcs(wcbuff, testsjis[0], 20)");
CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[9])) == 'K', "*((char *)(&wcbuff[9]))");
CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]");
memset (wcbuff, 'K', 40);
result = mbstowcs (wcbuff, testsjis[0], 8);
CYG_TEST_PASS_FAIL( result == 8, "mbstowcs (wcbuff, testsjis[0], 8)");
CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[8])) == 'K', "*((char *)(&wcbuff[8]))");
memset (wcbuff, 'K', 40);
result = mbstowcs (wcbuff, testsjis[0], 9);
CYG_TEST_PASS_FAIL( result == 8, "mbstowcs (wcbuff, testsjis[0], 9)");
CYG_TEST_PASS_FAIL(*((char *)(&wcbuff[9])) == 'K', "*((char *)(&wcbuff[9]))");
CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]");
memset(buff, 'K', 20);
result = wcstombs (buff, wcbuff, 20);
CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 20)");
CYG_TEST_PASS_FAIL( strcmp(buff, testsjis[0]) == 0, "strcmp(buff, testjis[0])");
memset (buff, 'K', 20);
result = wcstombs (buff, wcbuff, 12);
CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 12)");
CYG_TEST_PASS_FAIL( memcmp (buff, testsjis[0], 12) == 0, "memcmp (buff, testsjis[0], 12)");
CYG_TEST_PASS_FAIL( buff[12] == 'K', "buff[12]");
memset (buff, 'K', 20);
result = wcstombs (buff, wcbuff, 13);
CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 12)");
CYG_TEST_PASS_FAIL( memcmp (buff, testsjis[0], 13) == 0, "memcmp (buff, testsjis[0], 13)");
CYG_TEST_PASS_FAIL( buff[12] == '\0', "buff[12]");
result = wcstombs (buff, (wchar_t *)"\x23\x10", 2);
CYG_TEST_PASS_FAIL( result == -1, "wcstombs (buff, (wchar_t *)\"\x23\x10\", 2)");
result = sscanf (in_sjis, fmt_sjis, &k);
CYG_TEST_PASS_FAIL( result == 1, "sscanf (in_sjis, fmt_sjis, &k)");
CYG_TEST_PASS_FAIL( k == 23, "k");
sprintf (buff, fmt_sjis, 23);
CYG_TEST_PASS_FAIL( strcmp(buff, in_sjis) == 0, "sprintf(buff, fmt_sjis, 23)");
locale = setlocale(LC_ALL, "C");
locale = setlocale(LC_CTYPE, NULL);
CYG_TEST_PASS_FAIL( strcmp(locale, "C") == 0, "previous locale");
CYG_TEST_PASS_FAIL( MB_CUR_MAX == 1, "MB_CUR_MAX");
#endif /* CYGFUN_LIBC_I18N_LOCALE_C_SJIS */
#ifdef CYGFUN_LIBC_I18N_LOCALE_C_EUCJP
CYG_TEST_INFO( "Testing C-EUCJP locale" );
locale = setlocale (LC_CTYPE, "C-EUCJP");
CYG_TEST_PASS_FAIL( locale != NULL, "setlocale (LC_CTYPE, \"C-EUCJP\")");
CYG_TEST_PASS_FAIL( strcmp(locale, "C-EUCJP") == 0, "setlocale(LC_CTYPE, \"C-EUCJP\")");
locale = setlocale (LC_CTYPE, NULL);
CYG_TEST_PASS_FAIL( strcmp(locale, "C-EUCJP") == 0, "current locale");
CYG_TEST_PASS_FAIL( MB_CUR_MAX == 2, "MB_CUR_MAX");
CYG_TEST_PASS_FAIL( mblen(NULL, 0) == 0, "mblen(NULL, 0)");
CYG_TEST_PASS_FAIL( mbtowc(NULL, NULL, 0) == 0, "mbtowc(NULL, NULL, 0)");
CYG_TEST_PASS_FAIL( wctomb(NULL, 0) == 0, "wctomb(NULL, 0)");
for (i = 0; i < sizeof(testeucjp) / sizeof(char *); ++i)
{
ptr = testeucjp[i];
result = 1;
j = 0;
while (result > 0)
{
result = mblen (ptr, MB_CUR_MAX);
CYG_TEST_PASS_FAIL( result == mbleneucjp[i][j], "mblen (ptr, MB_CUR_MAX)");
ptr += result;
++j;
}
}
ptr = testeucjp[0];
wcptr = wcbuff;
memset(wcbuff, 'K', 40);
result = 1;
j = 0;
while (result > 0)
{
result = mbtowc (wcptr, ptr, MB_CUR_MAX);
CYG_TEST_PASS_FAIL( result == mbleneucjp0[j], "mbtowc (wcptr, ptr, MB_CUR_MAX)");
CYG_TEST_PASS_FAIL( *wcptr == mbtowceucjp0[j], "*wcptr");
ptr += result;
wcptr++;
++j;
}
CYG_TEST_PASS_FAIL( wcptr - wcbuff == 9, "wcptr - wcbuff");
CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]");
memset (buff, 'K', 40);
ptr = buff;
wcptr = wcbuff;
result = 1;
for (i = 0; i < 9; ++i)
{
result = wctomb (ptr, *wcptr);
ptr += result;
wcptr++;
}
CYG_TEST_PASS_FAIL( strcmp(testeucjp[0], buff) == 0, "strcmp(testeucjp[0], buff");
result = wctomb (buff, (wchar_t)0x1111);
CYG_TEST_PASS_FAIL( result == -1, "wctomb(buff, (wchar_t)0x1111)");
result = mbstowcs (wcbuff, testeucjp[5], 8);
CYG_TEST_PASS_FAIL( result == -1, "mbstowcs(wcbuff, testjis[3], 8)");
memset (wcbuff, 'K', 40);
result = mbstowcs (wcbuff, testeucjp[0], 20);
CYG_TEST_PASS_FAIL( result == 8, "mbstowcs(wcbuff, testeucjp[0], 20)");
CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[9])) == 'K', "*((char *)(&wcbuff[9]))");
CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]");
memset (wcbuff, 'K', 40);
result = mbstowcs (wcbuff, testeucjp[0], 8);
CYG_TEST_PASS_FAIL( result == 8, "mbstowcs (wcbuff, testeucjp[0], 8)");
CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[8])) == 'K', "*((char *)(&wcbuff[8]))");
memset (wcbuff, 'K', 40);
result = mbstowcs (wcbuff, testeucjp[0], 9);
CYG_TEST_PASS_FAIL( result == 8, "mbstowcs (wcbuff, testeucjp[0], 9)");
CYG_TEST_PASS_FAIL(*((char *)(&wcbuff[9])) == 'K', "*((char *)(&wcbuff[9]))");
CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]");
memset(buff, 'K', 20);
result = wcstombs (buff, wcbuff, 20);
CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 20)");
CYG_TEST_PASS_FAIL( strcmp(buff, testeucjp[0]) == 0, "strcmp(buff, testjis[0])");
memset (buff, 'K', 20);
result = wcstombs (buff, wcbuff, 12);
CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 12)");
CYG_TEST_PASS_FAIL( memcmp (buff, testeucjp[0], 12) == 0, "memcmp (buff, testeucjp[0], 12)");
CYG_TEST_PASS_FAIL( buff[12] == 'K', "buff[12]");
memset (buff, 'K', 20);
result = wcstombs (buff, wcbuff, 13);
CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 12)");
CYG_TEST_PASS_FAIL( memcmp (buff, testeucjp[0], 13) == 0, "memcmp (buff, testeucjp[0], 13)");
CYG_TEST_PASS_FAIL( buff[12] == '\0', "buff[12]");
result = wcstombs (buff, (wchar_t *)"\x23\x10", 2);
CYG_TEST_PASS_FAIL( result == -1, "wcstombs (buff, (wchar_t *)\"\x23\x10\", 2)");
result = sscanf (in_eucjp, fmt_eucjp, &k);
CYG_TEST_PASS_FAIL( result == 1, "sscanf (in_eucjp, fmt_eucjp, &k)");
CYG_TEST_PASS_FAIL( k == 23, "k");
sprintf (buff, fmt_eucjp, 23);
CYG_TEST_PASS_FAIL( strcmp(buff, in_eucjp) == 0, "sprintf(buff, fmt_eucjp, 23)");
locale = setlocale(LC_ALL, "C");
locale = setlocale(LC_CTYPE, NULL);
CYG_TEST_PASS_FAIL( strcmp(locale, "C") == 0, "previous locale");
CYG_TEST_PASS_FAIL( MB_CUR_MAX == 1, "MB_CUR_MAX");
#endif /* CYGFUN_LIBC_I18N_LOCALE_C_EUCJP */
CYG_TEST_FINISH( "Finished tests from testcase " __FILE__ " for C library "
"<stdlib.h> multibyte character functions" );
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -