summaryrefslogtreecommitdiff
path: root/localedata/tests-mbwc/tst_wcstod.c
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2000-06-29 10:36:12 +0000
committerAndreas Jaeger <aj@suse.de>2000-06-29 10:36:12 +0000
commit5ca8accdcd234f3479a9b686b3519768be9af69b (patch)
tree94acd3d8caae432164e69392d278a1a0539f8633 /localedata/tests-mbwc/tst_wcstod.c
parentee6c9d77a3407e265106181a0e543f59b635f757 (diff)
Update.
(tst_mbrtowc-ENV): New. (tst_mbsrtowcs-ENV): New. (tst_mbstowcs-ENV): New. (tst_strfmon-ENV): New. (tst_wcrtomb-ENV): New. (tst_wcsrtombs-ENV): New. (tst_wcstod-ENV): New. (tst_wcstok-ENV): New. (tst_wcstombs-ENV): New. * tests-mbwc/dat_wcstok.c: Likewise. * tests-mbwc/tst_wcstok.c: Likewise. * tests-mbwc/dat_wcstod.c: Likewise. * tests-mbwc/tst_wcstod.c: Likewise. * tests-mbwc/dat_mbrtowc.c: Likewise. * tests-mbwc/tst_mbrtowc.c: Likewise. * tests-mbwc/dat_wcsrtombs.c: Likewise. * tests-mbwc/tst_wcsrtombs.c: Likewise. * tests-mbwc/dat_wcstombs.c: Likewise. * tests-mbwc/tst_wcstombs.c: Likewise. * tests-mbwc/dat_mbsrtowcs.c: Likewise. * tests-mbwc/tst_mbsrtowcs.c: Likewise. * tests-mbwc/dat_wcrtomb.c: Likewise. * tests-mbwc/tst_wcrtomb.c: Likewise. * tests-mbwc/dat_mbstowcs.c: Likewise. * tests-mbwc/tst_mbstowcs.c: Likewise. * tests-mbwc/dat_strfmon.c: Likewise. * tests-mbwc/tst_strfmon.c: Likewise.
Diffstat (limited to 'localedata/tests-mbwc/tst_wcstod.c')
-rw-r--r--localedata/tests-mbwc/tst_wcstod.c68
1 files changed, 68 insertions, 0 deletions
diff --git a/localedata/tests-mbwc/tst_wcstod.c b/localedata/tests-mbwc/tst_wcstod.c
new file mode 100644
index 0000000000..5ee151bd54
--- /dev/null
+++ b/localedata/tests-mbwc/tst_wcstod.c
@@ -0,0 +1,68 @@
+/*
+ WCSTOD: double wcstod (wchar_t *np, const wchar_t **endp);
+*/
+
+#define TST_FUNCTION wcstod
+
+#include "tsp_common.c"
+#include "dat_wcstod.c"
+
+int
+tst_wcstod (FILE * fp, int debug_flg)
+{
+ TST_DECL_VARS (double);
+ wchar_t *np, *endp, fwc;
+ double val;
+
+ TST_DO_TEST (wcstod)
+ {
+ TST_HEAD_LOCALE (wcstod, S_WCSTOD);
+ TST_DO_REC (wcstod)
+ {
+ TST_GET_ERRET (wcstod);
+ np = TST_INPUT (wcstod).np;
+
+ TST_CLEAR_ERRNO;
+ ret = wcstod (np, &endp);
+ TST_SAVE_ERRNO;
+
+ if (debug_flg)
+ {
+ fprintf (stdout, "wcstod() [ %s : %d ] ret = %f\n", locale,
+ rec + 1, ret);
+ fprintf (stdout, " *endp = 0x%lx\n", *endp);
+ }
+
+ TST_IF_RETURN (S_WCSTOD)
+ {
+ if (ret != 0)
+ {
+ val = ret - TST_EXPECT (wcstod).val;
+ if (TST_ABS (val) < TST_DBL_EPS)
+ {
+ Result (C_SUCCESS, S_WCSTOD, CASE_3, MS_PASSED);
+ }
+ else
+ {
+ err_count++;
+ Result (C_FAILURE, S_WCSTOD, CASE_3, "return value is wrong");
+ }
+ }
+ }
+
+ fwc = TST_EXPECT (wcstod).fwc;
+
+ if (fwc == *endp)
+ {
+ Result (C_SUCCESS, S_WCSTOD, CASE_4, MS_PASSED);
+ }
+ else
+ {
+ err_count++;
+ Result (C_FAILURE, S_WCSTOD, CASE_4, "a final wc is wrong.");
+ }
+ }
+ }
+
+ return err_count;
+}