diff options
Diffstat (limited to 'test/locale-mbwc/tst_wctrans.c')
-rw-r--r-- | test/locale-mbwc/tst_wctrans.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/locale-mbwc/tst_wctrans.c b/test/locale-mbwc/tst_wctrans.c new file mode 100644 index 000000000..b422d6ff9 --- /dev/null +++ b/test/locale-mbwc/tst_wctrans.c @@ -0,0 +1,52 @@ +/* + WCTRANS: wctrans_t wctrans (const char *charclass); +*/ + +#define TST_FUNCTION wctrans + +#include "tsp_common.c" +#include "dat_wctrans.c" + +int +tst_wctrans (FILE * fp, int debug_flg) +{ + TST_DECL_VARS (wctrans_t); + char *class; + + TST_DO_TEST (wctrans) + { + TST_HEAD_LOCALE (wctrans, S_WCTRANS); + TST_DO_REC (wctrans) + { + TST_GET_ERRET (wctrans); + class = TST_INPUT (wctrans).class; + + TST_CLEAR_ERRNO; + ret = wctrans (class); + TST_SAVE_ERRNO; + + if (debug_flg) + { + fprintf (stderr, "tst_wctrans : [ %d ] ret = %ld\n", rec + 1, + (long int) ret); + fprintf (stderr, " errno = %d\n", errno_save); + } + + TST_IF_RETURN (S_WCTRANS) + { + if (ret != 0) + { + Result (C_SUCCESS, S_WCTYPE, CASE_3, MS_PASSED); + } + else + { + err_count++; + Result (C_FAILURE, S_WCTYPE, CASE_3, + "should return non-0, but returned 0"); + } + } + } + } + + return err_count; +} |