diff options
Diffstat (limited to 'test/locale-mbwc/dat_mbstowcs.c')
-rw-r--r-- | test/locale-mbwc/dat_mbstowcs.c | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/test/locale-mbwc/dat_mbstowcs.c b/test/locale-mbwc/dat_mbstowcs.c new file mode 100644 index 000000000..3b8ce65dd --- /dev/null +++ b/test/locale-mbwc/dat_mbstowcs.c @@ -0,0 +1,190 @@ +/* + * TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY + * + * FILE: dat_mbstowcs.c + * + * MBSTOWCS: size_t mbstowcs (wchar_t *ws, char *s, size_t n); + */ + +#include <limits.h> + +TST_MBSTOWCS tst_mbstowcs_loc [] = { + { + { Tmbstowcs, TST_LOC_de }, + { + { /*----------------- #01 -----------------*/ + { + { + { 1, 1, "ABC", 4 }, + { 1, 1, "ABC", 3 }, + { 1, 1, "ABC", 2 }, + } + }, + { + { + { 0,1,3, { 0x0041,0x0042,0x0043,0x0000 } }, + { 0,1,3, { 0x0041,0x0042,0x0043,0x0000 } }, + { 0,1,2, { 0x0041,0x0042,0x0043,0x0000 } }, + } + } + }, + { /*----------------- #02 -----------------*/ + { + { + { 1, 1, "ABC", 4 }, + { 1, 1, "", 1 }, + { 0, 1, "ABC", 4 }, + } + }, + { + { + { 0,1,3, { 0x0041,0x0042,0x0043,0x0000 } }, + { 0,1,0, { 0x0000 } }, + { 0,1,3, { 0x0000 } }, + } + } + }, + { .is_last = 1 } + } + }, + { + { Tmbstowcs, TST_LOC_enUS }, + { + { /*----------------- #01 -----------------*/ + { + { + { 1, 1, "ABC", 4 }, + { 1, 1, "ABC", 3 }, + { 1, 1, "ABC", 2 }, + } + }, + { + { + { 0,1,3, { 0x0041,0x0042,0x0043,0x0000 } }, + { 0,1,3, { 0x0041,0x0042,0x0043,0x0000 } }, + { 0,1,2, { 0x0041,0x0042,0x0043,0x0000 } }, + } + } + }, + { /*----------------- #02 -----------------*/ + { + { + { 1, 1, "ABC", 4 }, + { 1, 1, "", 1 }, + { 0, 1, "ABC", 4 }, + } + }, + { + { + { 0,1,3, { 0x0041,0x0042,0x0043,0x0000 } }, + { 0,1,0, { 0x0000 } }, + { 0,1,3, { 0x0000 } }, + } + } + }, + { .is_last = 1 } + } + }, +#if 0 + { + { Tmbstowcs, TST_LOC_eucJP }, + { + { /*----------------- #01 -----------------*/ + { + { + { 1, 1, "\244\242\244\244\244\246ABC", 7 }, + { 1, 1, "\244\242\244\244\244\246ABC", 6 }, + { 1, 1, "\244\242\244\244\244\246ABC", 4 }, + } + }, + { + { + { 0,1,6, { 0x3042,0x3044,0x3046,0x0041,0x0042,0x0043,0x0000 }}, + { 0,1,6, { 0x3042,0x3044,0x3046,0x0041,0x0042,0x0043,0x0000 }}, + { 0,1,4, { 0x3042,0x3044,0x3046,0x0041,0x0000 } }, + } + } + }, + { /*----------------- #02 -----------------*/ + { + { +#ifdef SHOJI_IS_RIGHT + /* XXX I really don't understand the first and third line. + the result of the first line is the same as the first + in the last test (i.e., returns 6). Also, the third + test will simply convert everything. */ + { 1, 1, "\244\242\244\244\244\246ABC", 7 }, + { 1, 1, "", 1 }, + { 0, 1, "\244\242\244\244\244\246ABC", 7 }, +#else + { 1, 1, "\244\242\244\244\244\246ABC", 4 }, + { 1, 1, "", 1 }, + { 0, 1, "\244\242\244\244\244\246ABC", 0 }, +#endif + } + }, + { + { + { 0,1,4, { 0x3042,0x3044,0x3046,0x0041,0x0000 } }, + { 0,1,0, { 0x0000 } }, + { 0,1,6, { 0x0000 } }, + } + } + }, + { .is_last = 1 } + } + }, +#else + { + { Tmbstowcs, TST_LOC_ja_UTF8 }, + { + { /*----------------- #01 -----------------*/ + { + { + { 1, 1, "\343\201\202\343\201\204\343\201\206ABC", 7 }, + { 1, 1, "\343\201\202\343\201\204\343\201\206ABC", 6 }, + { 1, 1, "\343\201\202\343\201\204\343\201\206ABC", 4 }, + } + }, + { + { + { 0,1,6, { 0x3042,0x3044,0x3046,0x0041,0x0042,0x0043,0x0000 }}, + { 0,1,6, { 0x3042,0x3044,0x3046,0x0041,0x0042,0x0043,0x0000 }}, + { 0,1,4, { 0x3042,0x3044,0x3046,0x0041,0x0000 } }, + } + } + }, + { /*----------------- #02 -----------------*/ + { + { +#ifdef SHOJI_IS_RIGHT + /* XXX I really don't understand the first and third line. + the result of the first line is the same as the first + in the last test (i.e., returns 6). Also, the third + test will simply convert everything. */ + { 1, 1, "\244\242\244\244\244\246ABC", 7 }, + { 1, 1, "", 1 }, + { 0, 1, "\244\242\244\244\244\246ABC", 7 }, +#else + { 1, 1, "\343\201\202\343\201\204\343\201\206ABC", 4 }, + { 1, 1, "", 1 }, + { 0, 1, "\343\201\202\343\201\204\343\201\206ABC", 7 }, +#endif + } + }, + { + { + { 0,1,4, { 0x3042,0x3044,0x3046,0x0041,0x0000 } }, + { 0,1,0, { 0x0000 } }, + { 0,1,6, { 0x0000 } }, + } + } + }, + { .is_last = 1 } + } + }, +#endif + { + { Tmbstowcs, TST_LOC_end } + } +}; |