summaryrefslogtreecommitdiff
path: root/test/locale-mbwc/tst_wctrans.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/locale-mbwc/tst_wctrans.c')
-rw-r--r--test/locale-mbwc/tst_wctrans.c52
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;
+}