diff options
Diffstat (limited to 'test/locale-mbwc/dat_mbtowc.c')
-rw-r--r-- | test/locale-mbwc/dat_mbtowc.c | 444 |
1 files changed, 0 insertions, 444 deletions
diff --git a/test/locale-mbwc/dat_mbtowc.c b/test/locale-mbwc/dat_mbtowc.c deleted file mode 100644 index 9a7a9c358..000000000 --- a/test/locale-mbwc/dat_mbtowc.c +++ /dev/null @@ -1,444 +0,0 @@ -/* - * TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY - * - * FILE: dat_mbtowc.c - * - * MBTOWC: int mbtowc (wchar_t *wp, char *s, size_t n); - */ - -/* NOTE: - * - * int mbtowc (wchar_t *wp, char *s, size_t n); - * - * where n: a maximum number of bytes - * return: the number of bytes - * - * - * o When you feed a null pointer for a string (s) to the function, - * set s_flg=0 instead of putting just a 'NULL' there. - * Even if you put a 'NULL', it means a null string as well as "". - * - * o When s is a null pointer, the function checks state dependency. - * - * state-dependent encoding - return NON-zero - * state-independent encoding - return 0 - * - * If state-dependent encoding is expected, set - * - * s_flg = 0, ret_flg = 0, ret_val = +1 - * - * If state-independent encoding is expected, set - * - * s_flg = 0, ret_flg = 0, ret_val = 0 - * - * - * When you set ret_flg=1, the test program simply compares - * an actual return value with an expected value. You can - * check state-independent case (return value is 0) in that - * way, but you can not check state-dependent case. So when - * you check state- dependency in this test function: - * tst_mbtowc(), set ret_flg=0 always. It's a special case - * and the test function takes care of it. - * - * w_flg - * | s: (a null string; can't be (char *)NULL) - * | | - * input. { 1, 0, (char)NULL, MB_LEN_MAX }, - * | - * s_flg=0: makes _s_ a null pointer. - * - * expect { 0,0,0,x, 0x0000 }, - * | | - * | ret_val: 0/+1 - * ret_flg=0 - * - * - * Test data for State dependent encodings: - * - * mbtowc( NULL, NULL, 0 ); ... first data - * mbtowc( &wc, s1, n1 ); ... second data - * mbtowc( &wc, s2, n2 ); ... third data - * */ - -#include <limits.h> - -TST_MBTOWC tst_mbtowc_loc [] = { - { - { Tmbtowc, TST_LOC_de }, - { - { /*----------------- #01 -----------------*/ - { - { - { 1, 1, "\xfc\xe4\xf6", 1 }, - { 1, 1, "\xfc\xe4\xf6", 2 }, - { 1, 1, "\xfc\xe4\xf6", MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 1, 0x00FC }, - { 0, 1, 1, 0x00FC }, - { 0, 1, 1, 0x00FC }, - } - } - }, - { /*----------------- #02 -----------------*/ - { - { - { 1, 1, "\177", MB_LEN_MAX }, - { 1, 1, "\200", MB_LEN_MAX }, - { 1, 1, "\201", MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 1, 0x007F }, - { 0, 1, 1, 0x0080 }, - { 0, 1, 1, 0x0081 }, - } - } - }, - { /*----------------- #03 -----------------*/ - { - { - { 1, 1, "", MB_LEN_MAX }, - { 0, 1, "\xfc\xe4\xf6", 1 }, - { 0, 1, "\xfc\xe4\xf6", 2 }, - } - }, - { - { - { 0, 1, 0, 0x0000 }, - { 0, 1, 1, 0x0000 }, - { 0, 1, 1, 0x0000 }, - } - } - }, - { /*----------------- #04 -----------------*/ - { - { - { 0, 1, "\xfc\xe4\xf6", MB_LEN_MAX }, - { 0, 1, "\177", MB_LEN_MAX }, - { 0, 1, "", MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 1, 0x0000 }, - { 0, 1, 1, 0x0000 }, - { 0, 1, 0, 0x0000 }, - } - } - }, - { /*----------------- #05 -----------------*/ - { - { - { 0, 1, "\xfc\xe4\xf6", MB_LEN_MAX }, - { 0, 1, "\177", MB_LEN_MAX }, - { 0, 0, NULL, MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 1, 0x0000 }, - { 0, 1, 1, 0x0000 }, - { 0, 0, 0, 0x0000 }, - } - } - }, - { .is_last = 1 } - } - }, - { - { Tmbtowc, TST_LOC_enUS }, - { - { /*----------------- #01 -----------------*/ - { - { - { 1, 1, "ABC", 1 }, - { 1, 1, "ABC", 2 }, - { 1, 1, "ABC", MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 1, 0x0041 }, - { 0, 1, 1, 0x0041 }, - { 0, 1, 1, 0x0041 }, - } - } - }, - { /*----------------- #02 -----------------*/ - { - { - { 1, 1, "\177", MB_LEN_MAX }, - { 1, 1, "\200", MB_LEN_MAX }, - { 1, 1, "\201", MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 1, 0x007F }, - { EILSEQ, 1, -1, 0x0000 }, - { EILSEQ, 1, -1, 0x0000 }, - } - } - }, - { /*----------------- #03 -----------------*/ - { - { - { 1, 1, "", MB_LEN_MAX }, - { 0, 1, "ABC", 1 }, - { 0, 1, "ABC", 2 }, - } - }, - { - { - { 0, 1, 0, 0x0000 }, - { 0, 1, 1, 0x0000 }, - { 0, 1, 1, 0x0000 }, - } - } - }, - { /*----------------- #04 -----------------*/ - { - { - { 0, 1, "ABC", MB_LEN_MAX }, - { 0, 1, "\177", MB_LEN_MAX }, - { 0, 1, "", MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 1, 0x0000 }, - { 0, 1, 1, 0x0000 }, - { 0, 1, 0, 0x0000 }, - } - } - }, - { /*----------------- #05 -----------------*/ - { - { - { 0, 1, "ABC", MB_LEN_MAX }, - { 0, 1, "\177", MB_LEN_MAX }, - { 0, 0, NULL, MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 1, 0x0000 }, - { 0, 1, 1, 0x0000 }, - { 0, 0, 0, 0x0000 }, - } - } - }, - { .is_last = 1 } - } - }, -#if 0 - { - { Tmbtowc, TST_LOC_eucJP }, - { - { /*----------------- #01 -----------------*/ - { - { - { 1, 1, "\244\242A", 1 }, - { 1, 1, "\244\242A", 2 }, - { 1, 1, "\244\242A", MB_LEN_MAX }, - } - }, - { - { -#ifdef SHOJI_IS_RIGHT - { EILSEQ, 1, -1, 0x0000 }, -#else - /* XXX EILSEQ was introduced in ISO C99. */ - { 0, 1, -1, 0x0000 }, -#endif - { 0, 1, 2, 0x3042 }, - { 0, 1, 2, 0x3042 }, - } - } - }, - { /*----------------- #02 -----------------*/ - { - { - { 1, 1, "\177\244\242", MB_LEN_MAX }, - { 1, 1, "\377\244\242", MB_LEN_MAX }, - { 1, 1, "\201\244\242", MB_LEN_MAX }, - } - }, - { - { - { 0, 1, +1, 0x007F }, -#ifdef SHOJI_IS_RIGHT - { EILSEQ, 1, -1, 0x0000 }, -#else - { 0, 1, -1, 0x0000 }, -#endif - { 0, 1, +1, 0x0081 }, - } - } - }, - { /*----------------- #03 -----------------*/ - { - { - { 1, 1, "", MB_LEN_MAX }, - { 0, 1, "\244\242A", 1 }, - { 0, 1, "\244\242A", 2 }, - } - }, - { - { - { 0, 1, 0, 0x0000 }, -#ifdef SHOJI_IS_RIGHT - { EILSEQ, 1, -1, 0x0000 }, -#else - /* XXX EILSEQ was introduced in ISO C99. */ - { 0, 1, -1, 0x0000 }, -#endif - { 0, 1, 2, 0x0000 }, - } - } - }, - { /*----------------- #04 -----------------*/ - { - { - { 0, 1, "\244\242A", MB_LEN_MAX }, - { 0, 1, "\177\244\242", MB_LEN_MAX }, - { 0, 1, "", MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 2, 0x0000 }, - { 0, 1, +1, 0x0000 }, - { 0, 1, 0, 0x0000 }, - } - } - }, - { /*----------------- #05 -----------------*/ - { - { - { 0, 1, "\244\242A", MB_LEN_MAX }, - { 0, 1, "\177\244\242", MB_LEN_MAX }, - { 0, 0, NULL, MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 2, 0x0000 }, - { 0, 1, +1, 0x0000 }, - { 0, 0, 0, 0x0000 }, - } - } - }, - { .is_last = 1 } - } - }, -#else - { - { Tmbtowc, TST_LOC_ja_UTF8 }, - { - { /*----------------- #01 -----------------*/ - { - { - { 1, 1, "\343\201\202A", 1 }, - { 1, 1, "\343\201\202A", 3 }, - { 1, 1, "\343\201\202A", MB_LEN_MAX }, - } - }, - { - { -#ifdef SHOJI_IS_RIGHT - { EILSEQ, 1, -1, 0x0000 }, -#else - /* XXX EILSEQ was introduced in ISO C99. */ - { 0, 1, -1, 0x0000 }, -#endif - { 0, 1, 3, 0x3042 }, - { 0, 1, 3, 0x3042 }, - } - } - }, - { /*----------------- #02 -----------------*/ - { - { - { 1, 1, "\177\343\201\202", MB_LEN_MAX }, - { 1, 1, "\377\343\201\202", MB_LEN_MAX }, - { 1, 1, "\302\201\343\201\202", MB_LEN_MAX }, - } - }, - { - { - { 0, 1, +1, 0x007F }, -#ifdef SHOJI_IS_RIGHT - { EILSEQ, 1, -1, 0x0000 }, -#else - { 0, 1, -1, 0x0000 }, -#endif - { 0, 1, +2, 0x0081 }, - } - } - }, - { /*----------------- #03 -----------------*/ - { - { - { 1, 1, "", MB_LEN_MAX }, - { 0, 1, "\343\201\202A", 1 }, - { 0, 1, "\343\201\202A", 3 }, - } - }, - { - { - { 0, 1, 0, 0x0000 }, -#ifdef SHOJI_IS_RIGHT - { EILSEQ, 1, -1, 0x0000 }, -#else - /* XXX EILSEQ was introduced in ISO C99. */ - { 0, 1, -1, 0x0000 }, -#endif - { 0, 1, 3, 0x0000 }, - } - } - }, - { /*----------------- #04 -----------------*/ - { - { - { 0, 1, "\343\201\202A", MB_LEN_MAX }, - { 0, 1, "\177\343\201\202", MB_LEN_MAX }, - { 0, 1, "", MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 3, 0x0000 }, - { 0, 1, +1, 0x0000 }, - { 0, 1, 0, 0x0000 }, - } - } - }, - { /*----------------- #05 -----------------*/ - { - { - { 0, 1, "\343\201\202A", MB_LEN_MAX }, - { 0, 1, "\177\343\201\202", MB_LEN_MAX }, - { 0, 0, NULL, MB_LEN_MAX }, - } - }, - { - { - { 0, 1, 3, 0x0000 }, - { 0, 1, +1, 0x0000 }, - { 0, 0, 0, 0x0000 }, - } - } - }, - { .is_last = 1 } - } - }, -#endif - { - { Tmbtowc, TST_LOC_end } - } -}; |