mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 22:10:13 +00:00
Add new files to tests and add environment for them.
This commit is contained in:
parent
cb6815da36
commit
22827fb10b
@ -41,7 +41,9 @@ repertoiremaps := $(filter-out $(addprefix repertoiremaps/, CVS RCS SCCS %~), \
|
|||||||
# tst_iswcntrl tst_iswspace tst_wcscoll tst_wcsspn tst_iswdigit \
|
# tst_iswcntrl tst_iswspace tst_wcscoll tst_wcsspn tst_iswdigit \
|
||||||
# tst_iswupper tst_wcscpy tst_wcsstr tst_iswgraph tst_iswxdigit \
|
# tst_iswupper tst_wcscpy tst_wcsstr tst_iswgraph tst_iswxdigit \
|
||||||
# tst_wcscspn tst_wcswidth tst_iswlower tst_swscanf tst_wcslen \
|
# tst_wcscspn tst_wcswidth tst_iswlower tst_swscanf tst_wcslen \
|
||||||
# tst_wctob
|
# tst_wctob tst_iswctype tst_towlower tst_wcscat tst_towupper \
|
||||||
|
# tst_wcscmp tst_wcsncat tst_wcsncpy tst_wcsxfrm tst_wcwidth
|
||||||
|
#
|
||||||
|
|
||||||
subdir-dirs = tests-mbwc
|
subdir-dirs = tests-mbwc
|
||||||
vpath %.c tests-mbwc
|
vpath %.c tests-mbwc
|
||||||
@ -137,18 +139,27 @@ install-locales:
|
|||||||
done < SUPPORTED
|
done < SUPPORTED
|
||||||
|
|
||||||
tst_iswcntrl-ENV = LOCPATH=$(common-objpfx)/localedata
|
tst_iswcntrl-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
tst_iswspace-ENV=LOCPATH=$(common-objpfx)/localedata
|
tst_iswctype-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
tst_wcscoll-ENV=LOCPATH=$(common-objpfx)/localedata
|
|
||||||
tst_wcsspn-ENV=LOCPATH=$(common-objpfx)/localedata
|
|
||||||
tst_iswdigit-ENV = LOCPATH=$(common-objpfx)/localedata
|
tst_iswdigit-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
tst_iswupper-ENV=LOCPATH=$(common-objpfx)/localedata
|
|
||||||
tst_wcscpy-ENV=LOCPATH=$(common-objpfx)/localedata
|
|
||||||
tst_wcsstr-ENV=LOCPATH=$(common-objpfx)/localedata
|
|
||||||
tst_iswgraph-ENV = LOCPATH=$(common-objpfx)/localedata
|
tst_iswgraph-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
tst_iswxdigit-ENV=LOCPATH=$(common-objpfx)/localedata
|
|
||||||
tst_wcscspn-ENV=LOCPATH=$(common-objpfx)/localedata
|
|
||||||
tst_wcswidth-ENV=LOCPATH=$(common-objpfx)/localedata
|
|
||||||
tst_iswlower-ENV = LOCPATH=$(common-objpfx)/localedata
|
tst_iswlower-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_iswspace-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_iswupper-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_iswxdigit-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
tst_swscanf-ENV = LOCPATH=$(common-objpfx)/localedata
|
tst_swscanf-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_towlower-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_towupper-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcscat-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcscmp-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcscoll-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcscpy-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcscspn-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
tst_wcslen-ENV = LOCPATH=$(common-objpfx)/localedata
|
tst_wcslen-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcsncat-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcsncpy-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcsspn-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcsstr-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcswidth-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcsxfrm-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
tst_wctob-ENV = LOCPATH=$(common-objpfx)/localedata
|
tst_wctob-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
tst_wcwidth-ENV = LOCPATH=$(common-objpfx)/localedata
|
||||||
|
546
localedata/tests-mbwc/dat_iswctype.c
Normal file
546
localedata/tests-mbwc/dat_iswctype.c
Normal file
@ -0,0 +1,546 @@
|
|||||||
|
/*
|
||||||
|
* TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
|
||||||
|
*
|
||||||
|
* FILE: dat_iswctype.c
|
||||||
|
*
|
||||||
|
* ISWCTYPE: int iswctype( wint_t wc, wctype_t charclass );
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <wctype.h>
|
||||||
|
#include "tst_types.h"
|
||||||
|
#include "tgn_locdef.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NOTE:
|
||||||
|
* Set ret_flg = 1, when a return value is expected to be 0 (FALSE).
|
||||||
|
* Set ret_flg = 0, when a return value is expected to be non-zero (TRUE).
|
||||||
|
*
|
||||||
|
* Since the functions return *non*-zero value for TRUE, can't
|
||||||
|
* compare an actual return value with an expected return value.
|
||||||
|
* Set the ret_flg=0 for TRUE cases and the tst_isw*() will check
|
||||||
|
* the non-zero value.
|
||||||
|
*
|
||||||
|
* { { WEOF }, { 0,0,1,0 } },
|
||||||
|
* | |
|
||||||
|
* | ret_val: an expected return value
|
||||||
|
* ret_flg: if 1, compare an actual return value with the
|
||||||
|
* ret_val; if 0, the test program checks
|
||||||
|
* the actual return value.
|
||||||
|
*/
|
||||||
|
|
||||||
|
TST_ISWCTYPE tst_iswctype_loc [] = {
|
||||||
|
{
|
||||||
|
{ Tiswctype, TST_LOC_de },
|
||||||
|
{
|
||||||
|
{ { 0x009F, "alnum" }, { 0,0,1,0 } }, /* CTRL */
|
||||||
|
{ { 0x00A0, "alnum" }, { 0,0,1,0 } }, /* NB SPACE */
|
||||||
|
{ { 0x00A1, "alnum" }, { 0,0,1,0 } }, /* UD ! */
|
||||||
|
{ { 0x00B1, "alnum" }, { 0,0,1,0 } }, /* +- sign */
|
||||||
|
{ { 0x00B3, "alnum" }, { 0,0,1,0 } }, /* SUP 3 */
|
||||||
|
{ { 0x00B4, "alnum" }, { 0,0,1,0 } }, /* ACUTE */
|
||||||
|
{ { 0x00BB, "alnum" }, { 0,0,1,0 } }, /* >> */
|
||||||
|
{ { 0x00BE, "alnum" }, { 0,0,1,0 } }, /* 3/4 */
|
||||||
|
{ { 0x00BF, "alnum" }, { 0,0,1,0 } }, /* UD ? */
|
||||||
|
{ { 0x00C0, "alnum" }, { 0,0,0,0 } }, /* A Grave */
|
||||||
|
{ { 0x00D6, "alnum" }, { 0,0,0,0 } }, /* O dia */
|
||||||
|
{ { 0x00D7, "alnum" }, { 0,0,1,0 } }, /* multipl. */
|
||||||
|
{ { 0x00D8, "alnum" }, { 0,0,0,0 } }, /* O stroke */
|
||||||
|
{ { 0x00DF, "alnum" }, { 0,0,0,0 } }, /* small Sh */
|
||||||
|
{ { 0x00E0, "alnum" }, { 0,0,0,0 } }, /* a grave */
|
||||||
|
{ { 0x00F6, "alnum" }, { 0,0,0,0 } }, /* o dia */
|
||||||
|
{ { 0x00F7, "alnum" }, { 0,0,1,0 } }, /* division */
|
||||||
|
{ { 0x00F8, "alnum" }, { 0,0,0,0 } }, /* o stroke */
|
||||||
|
{ { 0x00FF, "alnum" }, { 0,0,0,0 } }, /* y dia */
|
||||||
|
{ { 0x0080, "alpha" }, { 0,0,1,0 } }, /* CTRL */
|
||||||
|
{ { 0x00A0, "alpha" }, { 0,0,1,0 } }, /* NB SPACE */
|
||||||
|
{ { 0x00A1, "alpha" }, { 0,0,1,0 } }, /* UD ! */
|
||||||
|
{ { 0x00B1, "alpha" }, { 0,0,1,0 } }, /* +- sign */
|
||||||
|
{ { 0x00B4, "alpha" }, { 0,0,1,0 } }, /* ACUTE */
|
||||||
|
{ { 0x00B8, "alpha" }, { 0,0,1,0 } }, /* CEDILLA */
|
||||||
|
{ { 0x00B9, "alpha" }, { 0,0,1,0 } }, /* SUP 1 */
|
||||||
|
{ { 0x00BB, "alpha" }, { 0,0,1,0 } }, /* >> */
|
||||||
|
{ { 0x00BE, "alpha" }, { 0,0,1,0 } }, /* 3/4 */
|
||||||
|
{ { 0x00BF, "alpha" }, { 0,0,1,0 } }, /* UD ? */
|
||||||
|
{ { 0x00C0, "alpha" }, { 0,0,0,0 } }, /* A Grave */
|
||||||
|
{ { 0x00D6, "alpha" }, { 0,0,0,0 } }, /* O dia */
|
||||||
|
{ { 0x00D7, "alpha" }, { 0,0,1,0 } }, /* multipl. */
|
||||||
|
{ { 0x00D8, "alpha" }, { 0,0,0,0 } }, /* O stroke */
|
||||||
|
{ { 0x00DF, "alpha" }, { 0,0,0,0 } }, /* small Sh */
|
||||||
|
{ { 0x00E0, "alpha" }, { 0,0,0,0 } }, /* a grave */
|
||||||
|
{ { 0x00F6, "alpha" }, { 0,0,0,0 } }, /* o dia */
|
||||||
|
{ { 0x00F7, "alpha" }, { 0,0,1,0 } }, /* division */
|
||||||
|
{ { 0x00F8, "alpha" }, { 0,0,0,0 } }, /* o stroke */
|
||||||
|
{ { 0x00FF, "alpha" }, { 0,0,0,0 } }, /* y dia */
|
||||||
|
{ { 0x0080, "cntrl" }, { 0,0,0,0 } }, /* CTRL */
|
||||||
|
{ { 0x009F, "cntrl" }, { 0,0,0,0 } }, /* CTRL */
|
||||||
|
{ { 0x00A0, "cntrl" }, { 0,0,1,0 } }, /* NB SPACE */
|
||||||
|
{ { 0x00F6, "cntrl" }, { 0,0,1,0 } }, /* o dia */
|
||||||
|
{ { 0x00FF, "cntrl" }, { 0,0,1,0 } }, /* y dia */
|
||||||
|
{ { 0x00B9, "digit" }, { 0,0,1,0 } }, /* SUP 1 */
|
||||||
|
{ { 0x00BE, "digit" }, { 0,0,1,0 } }, /* 3/4 */
|
||||||
|
{ { 0x009F, "graph" }, { 0,0,1,0 } }, /* CTRL */
|
||||||
|
{ { 0x00A0, "graph" }, { 0,0,1,0 } }, /* NB SPACE */
|
||||||
|
{ { 0x00A1, "graph" }, { 0,0,0,0 } }, /* UD ! */
|
||||||
|
{ { 0x00B1, "graph" }, { 0,0,0,0 } }, /* +- sign */
|
||||||
|
{ { 0x00B3, "graph" }, { 0,0,0,0 } }, /* SUP 3 */
|
||||||
|
{ { 0x00B4, "graph" }, { 0,0,0,0 } }, /* ACUTE */
|
||||||
|
{ { 0x00BB, "graph" }, { 0,0,0,0 } }, /* >> */
|
||||||
|
{ { 0x00BE, "graph" }, { 0,0,0,0 } }, /* 3/4 */
|
||||||
|
{ { 0x00C0, "graph" }, { 0,0,0,0 } }, /* A Grave */
|
||||||
|
{ { 0x00D6, "graph" }, { 0,0,0,0 } }, /* O dia */
|
||||||
|
{ { 0x00D7, "graph" }, { 0,0,0,0 } }, /* multipl. */
|
||||||
|
{ { 0x00D8, "graph" }, { 0,0,0,0 } }, /* O stroke */
|
||||||
|
{ { 0x00DF, "graph" }, { 0,0,0,0 } }, /* small Sh */
|
||||||
|
{ { 0x00F7, "graph" }, { 0,0,0,0 } }, /* division */
|
||||||
|
{ { 0x00F8, "graph" }, { 0,0,0,0 } }, /* o stroke */
|
||||||
|
{ { 0x00FF, "graph" }, { 0,0,0,0 } }, /* y dia */
|
||||||
|
{ { 0x009F, "print" }, { 0,0,1,0 } }, /* CTRL */
|
||||||
|
{ { 0x00A0, "print" }, { 0,0,1,0 } }, /* NB SPACE */
|
||||||
|
{ { 0x00A1, "print" }, { 0,0,0,0 } }, /* UD ! */
|
||||||
|
{ { 0x00B1, "print" }, { 0,0,0,0 } }, /* +- sign */
|
||||||
|
{ { 0x00B4, "print" }, { 0,0,0,0 } }, /* ACUTE */
|
||||||
|
{ { 0x00B8, "print" }, { 0,0,0,0 } }, /* CEDILLA */
|
||||||
|
{ { 0x00B9, "print" }, { 0,0,0,0 } }, /* SUP 1 */
|
||||||
|
{ { 0x00BB, "print" }, { 0,0,0,0 } }, /* >> */
|
||||||
|
{ { 0x00BE, "print" }, { 0,0,0,0 } }, /* 3/4 */
|
||||||
|
{ { 0x00C0, "print" }, { 0,0,0,0 } }, /* A Grave */
|
||||||
|
{ { 0x00DF, "print" }, { 0,0,0,0 } }, /* small Sh */
|
||||||
|
{ { 0x00F6, "print" }, { 0,0,0,0 } }, /* o dia */
|
||||||
|
{ { 0x00F7, "print" }, { 0,0,0,0 } }, /* division */
|
||||||
|
{ { 0x00F8, "print" }, { 0,0,0,0 } }, /* o stroke */
|
||||||
|
{ { 0x00FF, "print" }, { 0,0,0,0 } }, /* y dia */
|
||||||
|
{ { 0x009F, "punct" }, { 0,0,1,0 } }, /* CTRL */
|
||||||
|
{ { 0x00A0, "punct" }, { 0,0,1,0 } }, /* NB SPACE */
|
||||||
|
{ { 0x00A1, "punct" }, { 0,0,0,0 } }, /* UD ! */
|
||||||
|
{ { 0x00B0, "punct" }, { 0,0,0,0 } }, /* Degree */
|
||||||
|
{ { 0x00B1, "punct" }, { 0,0,0,0 } }, /* +- sign */
|
||||||
|
{ { 0x00B2, "punct" }, { 0,0,0,0 } }, /* SUP 2 */
|
||||||
|
{ { 0x00B3, "punct" }, { 0,0,0,0 } }, /* SUP 3 */
|
||||||
|
{ { 0x00B4, "punct" }, { 0,0,0,0 } }, /* ACUTE */
|
||||||
|
{ { 0x00B8, "punct" }, { 0,0,0,0 } }, /* CEDILLA */
|
||||||
|
{ { 0x00B9, "punct" }, { 0,0,0,0 } }, /* SUP 1 */
|
||||||
|
{ { 0x00BB, "punct" }, { 0,0,0,0 } }, /* >> */
|
||||||
|
{ { 0x00BC, "punct" }, { 0,0,0,0 } }, /* 1/4 */
|
||||||
|
{ { 0x00BD, "punct" }, { 0,0,0,0 } }, /* 1/2 */
|
||||||
|
{ { 0x00BE, "punct" }, { 0,0,0,0 } }, /* 3/4 */
|
||||||
|
{ { 0x00BF, "punct" }, { 0,0,0,0 } }, /* UD ? */
|
||||||
|
{ { 0x00C0, "punct" }, { 0,0,1,0 } }, /* A Grave */
|
||||||
|
{ { 0x00D7, "punct" }, { 0,0,0,0 } }, /* multipl. */
|
||||||
|
{ { 0x00DF, "punct" }, { 0,0,1,0 } }, /* small Sh */
|
||||||
|
{ { 0x00F6, "punct" }, { 0,0,1,0 } }, /* o dia */
|
||||||
|
{ { 0x00F7, "punct" }, { 0,0,0,0 } }, /* division */
|
||||||
|
{ { 0x00FF, "punct" }, { 0,0,1,0 } }, /* y dia */
|
||||||
|
{ { 0x009F, "space" }, { 0,0,1,0 } }, /* CTRL */
|
||||||
|
{ { 0x00A0, "space" }, { 0,0,0,0 } }, /* NB SPACE */
|
||||||
|
{ { 0x00A1, "space" }, { 0,0,1,0 } }, /* UD ! */
|
||||||
|
{ { 0x00B1, "space" }, { 0,0,1,0 } }, /* +- sign */
|
||||||
|
{ { 0x00F8, "space" }, { 0,0,1,0 } }, /* o stroke */
|
||||||
|
{ { 0x00B3, "lower" }, { 0,0,1,0 } }, /* SUP 3 */
|
||||||
|
{ { 0x00B8, "lower" }, { 0,0,1,0 } }, /* CEDILLA */
|
||||||
|
{ { 0x00BE, "lower" }, { 0,0,1,0 } }, /* 3/4 */
|
||||||
|
{ { 0x00C0, "lower" }, { 0,0,1,0 } }, /* A Grave */
|
||||||
|
{ { 0x00D6, "lower" }, { 0,0,1,0 } }, /* O dia */
|
||||||
|
{ { 0x00D8, "lower" }, { 0,0,1,0 } }, /* O stroke */
|
||||||
|
{ { 0x00DF, "lower" }, { 0,0,0,0 } }, /* small Sh */
|
||||||
|
{ { 0x00E0, "lower" }, { 0,0,0,0 } }, /* a grave */
|
||||||
|
{ { 0x00F6, "lower" }, { 0,0,0,0 } }, /* o dia */
|
||||||
|
{ { 0x00F7, "lower" }, { 0,0,1,0 } }, /* division */
|
||||||
|
{ { 0x00F8, "lower" }, { 0,0,0,0 } }, /* o stroke */
|
||||||
|
{ { 0x00FF, "lower" }, { 0,0,0,0 } }, /* y dia */
|
||||||
|
{ { 0x00B4, "upper" }, { 0,0,1,0 } }, /* ACUTE */
|
||||||
|
{ { 0x00B8, "upper" }, { 0,0,1,0 } }, /* CEDILLA */
|
||||||
|
{ { 0x00B9, "upper" }, { 0,0,1,0 } }, /* SUP 1 */
|
||||||
|
{ { 0x00BE, "upper" }, { 0,0,1,0 } }, /* 3/4 */
|
||||||
|
{ { 0x00BF, "upper" }, { 0,0,1,0 } }, /* UD ? */
|
||||||
|
{ { 0x00C0, "upper" }, { 0,0,0,0 } }, /* A Grave */
|
||||||
|
{ { 0x00D6, "upper" }, { 0,0,0,0 } }, /* O dia */
|
||||||
|
{ { 0x00D7, "upper" }, { 0,0,1,0 } }, /* multipl. */
|
||||||
|
{ { 0x00D8, "upper" }, { 0,0,0,0 } }, /* O stroke */
|
||||||
|
{ { 0x00DF, "upper" }, { 0,0,1,0 } }, /* small Sh */
|
||||||
|
{ { 0x00FF, "upper" }, { 0,0,1,0 } }, /* y dia */
|
||||||
|
{ { 0x00B9, "xdigit" }, { 0,0,1,0 } }, /* SUP 1 */
|
||||||
|
{ { 0x00BC, "xdigit" }, { 0,0,1,0 } }, /* 1/4 */
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Tiswctype, TST_LOC_enUS },
|
||||||
|
{
|
||||||
|
{ { WEOF, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0000, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x001F, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0021, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x002F, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0030, "alnum" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0039, "alnum" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x003A, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0040, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0041, "alnum" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005A, "alnum" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005B, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0060, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0061, "alnum" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007A, "alnum" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007B, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007E, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007F, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0080, "alnum" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0000, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x001F, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0021, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x002F, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0030, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0039, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x003A, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0040, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0041, "alpha" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005A, "alpha" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005B, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0060, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0061, "alpha" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007A, "alpha" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007B, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007E, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007F, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0080, "alpha" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0009, "blank" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x000B, "blank" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "blank" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0000, "cntrl" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x001F, "cntrl" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0020, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0021, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x002F, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0030, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0039, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x003A, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0040, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0041, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x005A, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x005B, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0060, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0061, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007A, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007B, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007E, "cntrl" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007F, "cntrl" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0080, "cntrl" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0000, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x001F, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0021, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x002F, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0030, "digit" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0039, "digit" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x003A, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0040, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0041, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x005A, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x005B, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0060, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0061, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007A, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007B, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007E, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007F, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0080, "digit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0000, "graph" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x001F, "graph" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "graph" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0021, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x002F, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0030, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0039, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x003A, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0040, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0041, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005A, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005B, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0060, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0061, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007A, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007B, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007E, "graph" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007F, "graph" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0080, "graph" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0000, "print" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x001F, "print" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0021, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x002F, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0030, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0039, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x003A, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0040, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0041, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005A, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005B, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0060, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0061, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007A, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007B, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007E, "print" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007F, "print" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0080, "print" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0000, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x001F, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0021, "punct" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x002F, "punct" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0030, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0039, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x003A, "punct" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0040, "punct" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0041, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x005A, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x005B, "punct" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0060, "punct" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0061, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007A, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007B, "punct" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007E, "punct" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007F, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0080, "punct" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0000, "space" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x001F, "space" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "space" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0021, "space" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x002F, "space" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007E, "space" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007F, "space" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0080, "space" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0000, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x001F, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0021, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x002F, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0030, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0039, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x003A, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0040, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0041, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x005A, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x005B, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0060, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0061, "lower" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007A, "lower" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007B, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007E, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007F, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0080, "lower" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0000, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x001F, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0021, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x002F, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0030, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0039, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x003A, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0040, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0041, "upper" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005A, "upper" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005B, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0060, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0061, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007A, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007B, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007E, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007F, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0080, "upper" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0000, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x001F, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0020, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0021, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x002F, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0030, "xdigit" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x0039, "xdigit" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x003A, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0040, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0041, "xdigit" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x005A, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x005B, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0060, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0061, "xdigit" }, { 0,0,0,0 } },
|
||||||
|
{ { 0x007A, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007B, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007E, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x007F, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0080, "xdigit" }, { 0,0,1,0 } },
|
||||||
|
{ { 0x0061, "xxxxxx" }, { 0,0,1,0 } },
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Tiswctype, TST_LOC_eucJP },
|
||||||
|
{
|
||||||
|
{ { 0x3029, "alnum" }, { 0,0,1,0 } }, /* Hangzhou NUM9 */
|
||||||
|
{ { 0xFE4F, "alnum" }, { 0,0,1,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0xFF19, "alnum" }, { 0,0,0,0 } }, /* FULL 9 */
|
||||||
|
{ { 0xFF20, "alnum" }, { 0,0,1,0 } }, /* FULL @ */
|
||||||
|
{ { 0xFF3A, "alnum" }, { 0,0,0,0 } }, /* FULL Z */
|
||||||
|
{ { 0xFF40, "alnum" }, { 0,0,1,0 } }, /* FULL GRAVE ACC. */
|
||||||
|
{ { 0xFF5A, "alnum" }, { 0,0,0,0 } }, /* FULL z */
|
||||||
|
{ { 0xFF71, "alnum" }, { 0,0,1,0 } }, /* HALF KATA A */
|
||||||
|
{ { 0x3029, "alpha" }, { 0,0,1,0 } }, /* Hangzhou NUM9 */
|
||||||
|
{ { 0xFE4F, "alpha" }, { 0,0,1,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0xFF19, "alpha" }, { 0,0,1,0 } }, /* FULL 9 */
|
||||||
|
{ { 0xFF20, "alpha" }, { 0,0,1,0 } }, /* FULL @ */
|
||||||
|
{ { 0xFF3A, "alpha" }, { 0,0,0,0 } }, /* FULL Z */
|
||||||
|
{ { 0xFF40, "alpha" }, { 0,0,1,0 } }, /* FULL GRAVE ACC. */
|
||||||
|
{ { 0xFF5A, "alpha" }, { 0,0,0,0 } }, /* FULL z */
|
||||||
|
{ { 0xFF71, "alpha" }, { 0,0,1,0 } }, /* HALF KATA A */
|
||||||
|
{ { 0x0080, "cntrl" }, { 0,0,0,0 } }, /* CNTRL */
|
||||||
|
{ { 0x3000, "cntrl" }, { 0,0,1,0 } }, /* IDEO. SPACE */
|
||||||
|
{ { 0x3029, "digit" }, { 0,0,1,0 } }, /* Hangzhou NUM9 */
|
||||||
|
{ { 0x32CB, "digit" }, { 0,0,1,0 } }, /* IDEO.TEL.SYM.DEC12 */
|
||||||
|
/* 21: */
|
||||||
|
{ { 0x33FE, "digit" }, { 0,0,1,0 } }, /* CJK IDEO.TEL.31th */
|
||||||
|
{ { 0xFF19, "digit" }, { 0,0,0,0 } }, /* FULL 9 */
|
||||||
|
{ { 0x3000, "graph" }, { 0,0,1,0 } }, /* IDEO. SPACE */
|
||||||
|
{ { 0x3020, "graph" }, { 0,0,1,0 } }, /* POSTAL MARK FACE */
|
||||||
|
{ { 0x3029, "graph" }, { 0,0,1,0 } }, /* Hangzhou NUM9 */
|
||||||
|
{ { 0x302F, "graph" }, { 0,0,1,0 } }, /* Diacritics(Hangul) */
|
||||||
|
{ { 0x3037, "graph" }, { 0,0,1,0 } }, /* Separator Symbol */
|
||||||
|
{ { 0x303F, "graph" }, { 0,0,1,0 } }, /* IDEO. HALF SPACE */
|
||||||
|
/* 29: */
|
||||||
|
{ { 0x3041, "graph" }, { 0,0,0,0 } }, /* HIRAGANA a */
|
||||||
|
/* Non jis: */
|
||||||
|
{ { 0x3094, "graph" }, { 0,0,1,0 } }, /* HIRAGANA u" */
|
||||||
|
/* Non jis: */
|
||||||
|
{ { 0x3099, "graph" }, { 0,0,1,0 } }, /* SOUND MARK */
|
||||||
|
{ { 0x309E, "graph" }, { 0,0,0,0 } }, /* ITERATION MARK */
|
||||||
|
/* 33: */
|
||||||
|
{ { 0x30A1, "graph" }, { 0,0,0,0 } }, /* KATAKANA a */
|
||||||
|
/* Non jis: */
|
||||||
|
{ { 0x30FA, "graph" }, { 0,0,1,0 } }, /* KATAKANA wo" */
|
||||||
|
{ { 0x30FB, "graph" }, { 0,0,0,0 } }, /* KATAKANA MID.DOT */
|
||||||
|
{ { 0x30FE, "graph" }, { 0,0,0,0 } }, /* KATAKANA ITERATION */
|
||||||
|
{ { 0x3191, "graph" }, { 0,0,1,0 } }, /* KANBUN REV.MARK */
|
||||||
|
{ { 0x3243, "graph" }, { 0,0,1,0 } }, /* IDEO. MARK (reach) */
|
||||||
|
{ { 0x32CB, "graph" }, { 0,0,1,0 } }, /* IDEO.TEL.SYM.DEC12 */
|
||||||
|
{ { 0x32FE, "graph" }, { 0,0,1,0 } }, /* MARU KATAKANA wo */
|
||||||
|
{ { 0x33FE, "graph" }, { 0,0,1,0 } }, /* CJK IDEO.TEL.31th */
|
||||||
|
{ { 0x4E00, "graph" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x4E05, "graph" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x4E06, "graph" }, { 0,0,1,0 } }, /* CJK UNI.IDEO.NON-J */
|
||||||
|
{ { 0x4E07, "graph" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x4FFF, "graph" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x9000, "graph" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x9006, "graph" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x9007, "graph" }, { 0,0,1,0 } }, /* CJK UNI.IDEO.NON-J */
|
||||||
|
{ { 0x9FA4, "graph" }, { 0,0,1,0 } }, /* CJK UNI.IDEO.NON-J */
|
||||||
|
/* 51 */
|
||||||
|
{ { 0x9FA5, "graph" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
/* Non jis: */
|
||||||
|
{ { 0xFE4F, "graph" }, { 0,0,1,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0xFF0F, "graph" }, { 0,0,0,0 } }, /* FULL SLASH */
|
||||||
|
{ { 0xFF19, "graph" }, { 0,0,0,0 } }, /* FULL 9 */
|
||||||
|
{ { 0xFF20, "graph" }, { 0,0,0,0 } }, /* FULL @ */
|
||||||
|
{ { 0xFF3A, "graph" }, { 0,0,0,0 } }, /* FULL Z */
|
||||||
|
{ { 0xFF40, "graph" }, { 0,0,0,0 } }, /* FULL GRAVE ACC. */
|
||||||
|
{ { 0xFF5A, "graph" }, { 0,0,0,0 } }, /* FULL z */
|
||||||
|
{ { 0xFF5E, "graph" }, { 0,0,0,0 } }, /* FULL ~ (tilde) */
|
||||||
|
{ { 0xFF61, "graph" }, { 0,0,0,0 } }, /* HALF IDEO.STOP. . */
|
||||||
|
{ { 0xFF65, "graph" }, { 0,0,0,0 } }, /* HALF KATA MID.DOT */
|
||||||
|
{ { 0xFF66, "graph" }, { 0,0,0,0 } }, /* HALF KATA WO */
|
||||||
|
{ { 0xFF6F, "graph" }, { 0,0,0,0 } }, /* HALF KATA tu */
|
||||||
|
{ { 0xFF70, "graph" }, { 0,0,0,0 } }, /* HALF KATA PL - */
|
||||||
|
{ { 0xFF71, "graph" }, { 0,0,0,0 } }, /* HALF KATA A */
|
||||||
|
{ { 0xFF9E, "graph" }, { 0,0,0,0 } }, /* HALF KATA MI */
|
||||||
|
{ { 0x3000, "print" }, { 0,0,0,0 } }, /* IDEO. SPACE */
|
||||||
|
{ { 0x3020, "print" }, { 0,0,1,0 } }, /* POSTAL MARK FACE */
|
||||||
|
{ { 0x3029, "print" }, { 0,0,1,0 } }, /* Hangzhou NUM9 */
|
||||||
|
{ { 0x302F, "print" }, { 0,0,1,0 } }, /* Diacritics(Hangul) */
|
||||||
|
{ { 0x3037, "print" }, { 0,0,1,0 } }, /* Separator Symbol */
|
||||||
|
{ { 0x4E00, "print" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x4E05, "print" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x4E06, "print" }, { 0,0,1,0 } }, /* CJK UNI.IDEO.NON-J */
|
||||||
|
{ { 0x4E07, "print" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x4FFF, "print" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x9000, "print" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x9006, "print" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x9007, "print" }, { 0,0,1,0 } }, /* CJK UNI.IDEO.NON-J */
|
||||||
|
{ { 0x9FA4, "print" }, { 0,0,1,0 } }, /* CJK UNI.IDEO.NON-J */
|
||||||
|
/* 81: */
|
||||||
|
{ { 0x9FA5, "print" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
/* Non jis: */
|
||||||
|
{ { 0xFE4F, "print" }, { 0,0,1,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0x3000, "punct" }, { 0,0,1,0 } }, /* IDEO. SPACE */
|
||||||
|
{ { 0x3020, "punct" }, { 0,0,1,0 } }, /* POSTAL MARK FACE */
|
||||||
|
{ { 0x302F, "punct" }, { 0,0,1,0 } }, /* Diacritics(Hangul) */
|
||||||
|
{ { 0x3037, "punct" }, { 0,0,1,0 } }, /* FEED Separator */
|
||||||
|
{ { 0x303F, "punct" }, { 0,0,1,0 } }, /* IDEO. HALF SPACE */
|
||||||
|
{ { 0x3041, "punct" }, { 0,0,1,0 } }, /* HIRAGANA a */
|
||||||
|
{ { 0x3094, "punct" }, { 0,0,1,0 } }, /* HIRAGANA u" */
|
||||||
|
/* 90: */
|
||||||
|
{ { 0x3099, "punct" }, { 0,0,1,0 } }, /* SOUND MARK */
|
||||||
|
{ { 0x309E, "punct" }, { 0,0,1,0 } }, /* ITERATION MARK */
|
||||||
|
{ { 0x30A1, "punct" }, { 0,0,1,0 } }, /* KATAKANA a */
|
||||||
|
{ { 0x30FA, "punct" }, { 0,0,1,0 } }, /* KATAKANA wo" */
|
||||||
|
{ { 0x30FB, "punct" }, { 0,0,0,0 } }, /* KATAKANA MID.DOT */
|
||||||
|
/* 95: */
|
||||||
|
{ { 0x30FE, "punct" }, { 0,0,1,0 } }, /* KATAKANA ITERATION */
|
||||||
|
{ { 0x3191, "punct" }, { 0,0,1,0 } }, /* KANBUN REV.MARK */
|
||||||
|
{ { 0x3243, "punct" }, { 0,0,1,0 } }, /* IDEO. MARK (reach) */
|
||||||
|
{ { 0x32CB, "punct" }, { 0,0,1,0 } }, /* IDEO.TEL.SYM.DEC12 */
|
||||||
|
{ { 0x32FE, "punct" }, { 0,0,1,0 } }, /* MARU KATAKANA wo */
|
||||||
|
{ { 0x33FE, "punct" }, { 0,0,1,0 } }, /* CJK IDEO.TEL.31th */
|
||||||
|
{ { 0x9007, "punct" }, { 0,0,1,0 } }, /* CJK UNI.IDEO.NON-J */
|
||||||
|
{ { 0x9FA4, "punct" }, { 0,0,1,0 } }, /* CJK UNI.IDEO.NON-J */
|
||||||
|
{ { 0x9FA5, "punct" }, { 0,0,1,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ { 0xFF0F, "punct" }, { 0,0,0,0 } }, /* FULL SLASH */
|
||||||
|
/* 105: */
|
||||||
|
{ { 0xFF19, "punct" }, { 0,0,1,0 } }, /* FULL 9 */
|
||||||
|
{ { 0xFF20, "punct" }, { 0,0,0,0 } }, /* FULL @ */
|
||||||
|
{ { 0xFF3A, "punct" }, { 0,0,1,0 } }, /* FULL Z */
|
||||||
|
{ { 0xFF40, "punct" }, { 0,0,0,0 } }, /* FULL GRAVE ACC. */
|
||||||
|
{ { 0xFF5A, "punct" }, { 0,0,1,0 } }, /* FULL z */
|
||||||
|
{ { 0xFF5E, "punct" }, { 0,0,0,0 } }, /* FULL ~ (tilde) */
|
||||||
|
{ { 0xFF61, "punct" }, { 0,0,0,0 } }, /* HALF IDEO.STOP. . */
|
||||||
|
{ { 0xFF65, "punct" }, { 0,0,0,0 } }, /* HALF KATA MID.DOT */
|
||||||
|
{ { 0xFF70, "punct" }, { 0,0,1,0 } }, /* HALF KATA PL - */
|
||||||
|
{ { 0xFF9E, "punct" }, { 0,0,1,0 } }, /* HALF KATA MI */
|
||||||
|
/* 115: */
|
||||||
|
{ { 0x3000, "space" }, { 0,0,0,0 } }, /* IDEO. SPACE */
|
||||||
|
{ { 0x303F, "space" }, { 0,0,1,0 } }, /* IDEO. HALF SPACE */
|
||||||
|
{ { 0x3041, "lower" }, { 0,0,1,0 } }, /* HIRAGANA a */
|
||||||
|
{ { 0x3094, "lower" }, { 0,0,1,0 } }, /* HIRAGANA u" */
|
||||||
|
{ { 0x30A1, "lower" }, { 0,0,1,0 } }, /* KATAKANA a */
|
||||||
|
{ { 0x30FA, "lower" }, { 0,0,1,0 } }, /* KATAKANA wo" */
|
||||||
|
{ { 0xFF66, "lower" }, { 0,0,1,0 } }, /* HALF KATA WO */
|
||||||
|
{ { 0xFF6F, "lower" }, { 0,0,1,0 } }, /* HALF KATA tu */
|
||||||
|
{ { 0xFF70, "lower" }, { 0,0,1,0 } }, /* HALF KATA PL - */
|
||||||
|
/* 124: */
|
||||||
|
{ { 0xFF71, "lower" }, { 0,0,1,0 } }, /* HALF KATA A */
|
||||||
|
{ { 0xFF9E, "lower" }, { 0,0,1,0 } }, /* HALF KATA MI */
|
||||||
|
{ { 0xFF71, "upper" }, { 0,0,1,0 } }, /* HALF KATA A */
|
||||||
|
{ { 0xFF19, "xdigit" }, { 0,0,1,0 } }, /* FULL 9 */
|
||||||
|
{ { 0x3000, "jspace" }, { 0,0,0,0 } }, /* IDEO. SPACE */
|
||||||
|
/* Non jis? */
|
||||||
|
{ { 0x303F, "jspace" }, { 0,0,1,0 } }, /* IDEO.HALF SPACE */
|
||||||
|
{ { 0xFF19, "jdigit" }, { 0,0,0,0 } }, /* FULL 9 */
|
||||||
|
{ { 0x3041, "jhira" }, { 0,0,0,0 } }, /* HIRAGANA a */
|
||||||
|
{ { 0x3094, "jhira" }, { 0,0,1,0 } }, /* HIRAGANA u" */
|
||||||
|
{ { 0x30A1, "jkata" }, { 0,0,0,0 } }, /* KATAKANA a */
|
||||||
|
/* Non jis: */
|
||||||
|
{ { 0x30FA, "jkata" }, { 0,0,1,0 } }, /* KATAKANA wo" */
|
||||||
|
{ { 0xFF66, "jkata" }, { 0,0,0,0 } }, /* HALF KATA WO */
|
||||||
|
{ { 0xFF6F, "jkata" }, { 0,0,0,0 } }, /* HALF KATA tu */
|
||||||
|
{ { 0x4E05, "jkanji" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
/* <NO_WAIVER>: */
|
||||||
|
{ { 0x4E06, "jkanji" }, { 0,0,1,1 } }, /* CJK UNI.IDEO.NON-J */
|
||||||
|
{ { 0x4E07, "jkanji" }, { 0,0,0,0 } }, /* CJK UNI.IDEO. */
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Tiswctype, TST_LOC_end }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* dat_isw-funcs.c */
|
43
localedata/tests-mbwc/dat_towlower.c
Normal file
43
localedata/tests-mbwc/dat_towlower.c
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
|
||||||
|
*
|
||||||
|
* FILE: dat_towlower.c
|
||||||
|
*
|
||||||
|
* ISW*: int towlower (wint_t wc);
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "dat_tow-funcs.h"
|
||||||
|
|
||||||
|
|
||||||
|
TST_TOW_LOC (LOWER, lower) = {
|
||||||
|
|
||||||
|
{ TST_TOW_REC (de, lower)
|
||||||
|
{
|
||||||
|
{ { WEOF }, { 0,0, 1, (wint_t)-1 } },
|
||||||
|
{ { 0x0080 }, { 0,0, 1, 0x0080 } },
|
||||||
|
{ { 0x00CC }, { 0,0, 1, 0x00EC } },
|
||||||
|
{ { 0x00EC }, { 0,0, 1, 0x00EC } },
|
||||||
|
{ is_last: 1 } /* Last element. */
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ TST_TOW_REC (enUS, lower)
|
||||||
|
{
|
||||||
|
{ { WEOF }, { 0,0, 1, (wint_t)-1 } },
|
||||||
|
{ { 0x007F }, { 0,0, 1, 0x007F } },
|
||||||
|
{ { 0x0041 }, { 0,0, 1, 0x0061 } },
|
||||||
|
{ { 0x0061 }, { 0,0, 1, 0x0061 } },
|
||||||
|
{ is_last: 1 } /* Last element. */
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ TST_TOW_REC (eucJP, lower)
|
||||||
|
{
|
||||||
|
{ { 0x007F }, { 0,0, 1, 0x007F } },
|
||||||
|
{ { 0x0080 }, { 0,0, 1, 0x0080 } },
|
||||||
|
{ { 0xFF21 }, { 0,0, 1, 0xFF41 } },
|
||||||
|
{ { 0xFF41 }, { 0,0, 1, 0xFF41 } },
|
||||||
|
{ is_last: 1 } /* Last element. */
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ TST_TOW_REC (end, lower) }
|
||||||
|
};
|
43
localedata/tests-mbwc/dat_towupper.c
Normal file
43
localedata/tests-mbwc/dat_towupper.c
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
|
||||||
|
*
|
||||||
|
* FILE: dat_towupper.c
|
||||||
|
*
|
||||||
|
* ISW*: int towupper (wint_t wc);
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "dat_tow-funcs.h"
|
||||||
|
|
||||||
|
|
||||||
|
TST_TOW_LOC (UPPER, upper) = {
|
||||||
|
|
||||||
|
{ TST_TOW_REC (de, upper)
|
||||||
|
{
|
||||||
|
{ { WEOF }, { 0,0, 1, (wint_t)-1 } },
|
||||||
|
{ { 0x0080 }, { 0,0, 1, 0x0080 } },
|
||||||
|
{ { 0x00EC }, { 0,0, 1, 0x00CC } },
|
||||||
|
{ { 0x00CC }, { 0,0, 1, 0x00CC } },
|
||||||
|
{ is_last: 1 } /* Last element. */
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ TST_TOW_REC (enUS, upper)
|
||||||
|
{
|
||||||
|
{ { WEOF }, { 0,0, 1, (wint_t)-1 } },
|
||||||
|
{ { 0x0080 }, { 0,0, 1, 0x0080 } },
|
||||||
|
{ { 0x0041 }, { 0,0, 1, 0x0041 } },
|
||||||
|
{ { 0x0061 }, { 0,0, 1, 0x0041 } },
|
||||||
|
{ is_last: 1 } /* Last element. */
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ TST_TOW_REC (eucJP, upper)
|
||||||
|
{
|
||||||
|
{ { WEOF }, { 0,0, 1, (wint_t)-1 } },
|
||||||
|
{ { 0x007F }, { 0,0, 1, 0x007F } },
|
||||||
|
{ { 0xFF41 }, { 0,0, 1, 0xFF21 } },
|
||||||
|
{ { 0xFF21 }, { 0,0, 1, 0xFF21 } },
|
||||||
|
{ is_last: 1 } /* Last element. */
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ TST_TOW_REC (end, upper) }
|
||||||
|
};
|
112
localedata/tests-mbwc/dat_wcscat.c
Normal file
112
localedata/tests-mbwc/dat_wcscat.c
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
/*
|
||||||
|
* TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
|
||||||
|
*
|
||||||
|
* FILE: dat_wcscat.c
|
||||||
|
*
|
||||||
|
* WCSCAT: wchar_t *wcscat (wchar_t *ws1, wchar_t *ws2)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* NOTE:
|
||||||
|
Since this is not a locale sensitive function,
|
||||||
|
it doesn't make sense to test the function on some
|
||||||
|
locales. Better make different test cases for each locale ...
|
||||||
|
(Also some wc* functions are not locale sensitive.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
TST_WCSCAT tst_wcscat_loc [] = {
|
||||||
|
|
||||||
|
{
|
||||||
|
{Twcscat, TST_LOC_de},
|
||||||
|
{
|
||||||
|
/* 1 */
|
||||||
|
{{{ 0x00C1,0x00C2,0x0000 },
|
||||||
|
{ 0x00C3,0x00C4,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x00C1,0x00C2,0x00C3,0x00C4,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 2 */
|
||||||
|
{{{ 0x0001,0x0002,0x0000 },
|
||||||
|
{ 0x0003,0x0004,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0001,0x0002,0x0003,0x0004,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 3 */
|
||||||
|
{{{ 0x0000 },
|
||||||
|
{ 0x00C3,0x00C4,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x00C3,0x00C4,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 4 */
|
||||||
|
{{{ 0x0001,0xFFFF,0x0000 },
|
||||||
|
{ 0x0080,0x0090,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0001,0xFFFF,0x0080,0x0090,0x0000 } },
|
||||||
|
},
|
||||||
|
{is_last: 1}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{Twcscat, TST_LOC_enUS},
|
||||||
|
{
|
||||||
|
/* 1 */
|
||||||
|
{{{ 0x0041,0x0042,0x0000 },
|
||||||
|
{ 0x0043,0x0044,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0041,0x0042,0x0043,0x0044,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 2 */
|
||||||
|
{{{ 0x0001,0x0002,0x0000 },
|
||||||
|
{ 0x0003,0x0004,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0001,0x0002,0x0003,0x0004,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 3 */
|
||||||
|
{{{ 0x0000 },
|
||||||
|
{ 0x0043,0x0044,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0043,0x0044,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 4 */
|
||||||
|
{{{ 0x0001,0xFFFF,0x0000 },
|
||||||
|
{ 0x0080,0x0090,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0001,0xFFFF,0x0080,0x0090,0x0000 } },
|
||||||
|
},
|
||||||
|
{is_last: 1}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{Twcscat, TST_LOC_eucJP},
|
||||||
|
{
|
||||||
|
/* 1 */
|
||||||
|
{{{ 0x30A2,0x74E0,0x0000 },
|
||||||
|
{ 0xFF71,0x0041,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x30A2,0x74E0,0xFF71,0x0041,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 2 */
|
||||||
|
{{{ 0x0001,0x0002,0x0000 },
|
||||||
|
{ 0x0003,0x0004,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0001,0x0002,0x0003,0x0004,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 3 */
|
||||||
|
{{{ 0x30A2,0xFF71,0x0000 },
|
||||||
|
{ 0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x30A2,0xFF71,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 4 */
|
||||||
|
{{{ 0x0001,0xFFFF,0x0000 },
|
||||||
|
{ 0x0080,0x0090,0x0000 }, },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0001,0xFFFF,0x0080,0x0090,0x0000 } },
|
||||||
|
},
|
||||||
|
{is_last: 1}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{Twcscat, TST_LOC_end}
|
||||||
|
}
|
||||||
|
};
|
133
localedata/tests-mbwc/dat_wcscmp.c
Normal file
133
localedata/tests-mbwc/dat_wcscmp.c
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
/*
|
||||||
|
* TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
|
||||||
|
*
|
||||||
|
* FILE: dat_wcscmp.c
|
||||||
|
*
|
||||||
|
* WCSCMP: int wcscmp (const wchar_t *ws1, const wchar_t *ws2);
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* NOTE:
|
||||||
|
This is not a locale sensitive function and
|
||||||
|
it may not make sence testing it for each locale ...
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
TST_WCSCMP tst_wcscmp_loc [] = {
|
||||||
|
{
|
||||||
|
{ Twcscmp, TST_LOC_de },
|
||||||
|
{
|
||||||
|
{ /*input.*/ { { 0x00D1,0x00D2,0x00D3,0x0000 },
|
||||||
|
{ 0x00D1,0x00D2,0x00D3,0x0000 }, }, /* #1 */
|
||||||
|
/*expect*/ { 0,0,1,0, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0000,0x00D1,0x00D3,0x0000 },
|
||||||
|
{ 0x0000,0x00D2,0x00D3,0x0000 }, }, /* #2 */
|
||||||
|
/*expect*/ { 0,0,1,0, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x00D1,0x00D1,0x00D3,0x0000 },
|
||||||
|
{ 0x0000,0x00D2,0x00D3,0x0000 }, }, /* #3 */
|
||||||
|
/*expect*/ { 0,0,1,0x00D1, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0000,0x00D2,0x00D3,0x0000 },
|
||||||
|
{ 0x00D1,0x00D1,0x00D3,0x0000 }, }, /* #4 */
|
||||||
|
/*expect*/ { 0,0,1,-0x00D1, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x00D1,0x00D5,0x00D3,0x0000 },
|
||||||
|
{ 0x00D1,0x00D2,0x00D3,0x0000 }, }, /* #5 */
|
||||||
|
/*expect*/ { 0,0,1,3, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x00D1,0x00D2,0x00D3,0x0000 },
|
||||||
|
{ 0x00D1,0x00D2,0x00D9,0x0000 }, }, /* #6 */
|
||||||
|
/*expect*/ { 0,0,1,-6, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x00D1,0x00D2,0x0000 },
|
||||||
|
{ 0x00D1,0x00D2,0x00D9,0x0000 }, }, /* #7 */
|
||||||
|
/*expect*/ { 0,0,1,-0x00D9, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x00D1,0x00D2,0x00D9,0x0000 },
|
||||||
|
{ 0x00D1,0x00D2,0x0000 }, }, /* #8 */
|
||||||
|
/*expect*/ { 0,0,1,0x00D9, },
|
||||||
|
},
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Twcscmp, TST_LOC_enUS },
|
||||||
|
{
|
||||||
|
{ /*input.*/ { { 0x0041,0x0042,0x0043,0x0000 },
|
||||||
|
{ 0x0041,0x0042,0x0043,0x0000 }, }, /* #1 */
|
||||||
|
/*expect*/ { 0,0,1,0, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0000,0x0041,0x0043,0x0000 },
|
||||||
|
{ 0x0000,0x0042,0x0043,0x0000 }, }, /* #2 */
|
||||||
|
/*expect*/ { 0,0,1,0, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0041,0x0041,0x0043,0x0000 },
|
||||||
|
{ 0x0000,0x0042,0x0043,0x0000 }, }, /* #3 */
|
||||||
|
/*expect*/ { 0,0,1,0x0041, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0000,0x0042,0x0043,0x0000 },
|
||||||
|
{ 0x0041,0x0041,0x0043,0x0000 }, }, /* #4 */
|
||||||
|
/*expect*/ { 0,0,1,-0x0041, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0041,0x0045,0x0043,0x0000 },
|
||||||
|
{ 0x0041,0x0042,0x0043,0x0000 }, }, /* #5 */
|
||||||
|
/*expect*/ { 0,0,1,3, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0041,0x0042,0x0043,0x0000 },
|
||||||
|
{ 0x0041,0x0042,0x0049,0x0000 }, }, /* #6 */
|
||||||
|
/*expect*/ { 0,0,1,-6, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0041,0x0042,0x0000 },
|
||||||
|
{ 0x0041,0x0042,0x0049,0x0000 }, }, /* #7 */
|
||||||
|
/*expect*/ { 0,0,1,-0x0049, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0041,0x0042,0x0049,0x0000 },
|
||||||
|
{ 0x0041,0x0042,0x0000 }, }, /* #8 */
|
||||||
|
/*expect*/ { 0,0,1,0x0049, },
|
||||||
|
},
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Twcscmp, TST_LOC_eucJP},
|
||||||
|
{
|
||||||
|
{ /*input.*/ { { 0x3041,0x3042,0x3043,0x0000 },
|
||||||
|
{ 0x3041,0x3042,0x3043,0x0000 }, }, /* #1 */
|
||||||
|
/*expect*/ { 0,0,1,0, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0000,0x3041,0x3043,0x0000 },
|
||||||
|
{ 0x0000,0x3042,0x3043,0x0000 }, }, /* #2 */
|
||||||
|
/*expect*/ { 0,0,1,0, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x3041,0x3041,0x3043,0x0000 },
|
||||||
|
{ 0x0000,0x3042,0x3043,0x0000 }, }, /* #3 */
|
||||||
|
/*expect*/ { 0,0,1,0x3041, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x0000,0x3042,0x3043,0x0000 },
|
||||||
|
{ 0x3041,0x3041,0x3043,0x0000 }, }, /* #4 */
|
||||||
|
/*expect*/ { 0,0,1,-0x3041, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x3041,0x3045,0x3043,0x0000 },
|
||||||
|
{ 0x3041,0x3042,0x3043,0x0000 }, }, /* #5 */
|
||||||
|
/*expect*/ { 0,0,1,3, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x3041,0x3042,0x3043,0x0000 },
|
||||||
|
{ 0x3041,0x3042,0x3049,0x0000 }, }, /* #6 */
|
||||||
|
/*expect*/ { 0,0,1,-6, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x3041,0x3042,0x0000 },
|
||||||
|
{ 0x3041,0x3042,0x3049,0x0000 }, }, /* #7 */
|
||||||
|
/*expect*/ { 0,0,1,-0x3049, },
|
||||||
|
},
|
||||||
|
{ /*input.*/ { { 0x3041,0x3042,0x3049,0x0000 },
|
||||||
|
{ 0x3041,0x3042,0x0000 }, }, /* #8 */
|
||||||
|
/*expect*/ { 0,0,1,0x3049, },
|
||||||
|
},
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Twcschr, TST_LOC_end}
|
||||||
|
}
|
||||||
|
};
|
154
localedata/tests-mbwc/dat_wcsncat.c
Normal file
154
localedata/tests-mbwc/dat_wcsncat.c
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
/*
|
||||||
|
* TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
|
||||||
|
*
|
||||||
|
* FILE: dat_wcsncat.c
|
||||||
|
*
|
||||||
|
* WCSNCAT: wchar_t *wcsncat (wchar_t *ws1, wchar_t *ws2, size_t n);
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Note:
|
||||||
|
* A terminating null wide chararacter is always appended to
|
||||||
|
* the result: ws1.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
TST_WCSNCAT tst_wcsncat_loc [] = {
|
||||||
|
{
|
||||||
|
{Twcsncat, TST_LOC_de},
|
||||||
|
{
|
||||||
|
/* 1 */
|
||||||
|
{
|
||||||
|
/* Input: */
|
||||||
|
{{ 0x00D1,0x00D2,0x0000 },
|
||||||
|
{ 0x00D3,0x00D4,0x0000 }, 3 },
|
||||||
|
/* Expect: */
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x00D1,0x00D2,0x00D3,0x00D4,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 2 */
|
||||||
|
{{{ 0x00D1,0x00D2,0x0000 },
|
||||||
|
{ 0x00D3,0x00D4,0x0000 }, 2 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x00D1,0x00D2,0x00D3,0x00D4,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 3 */
|
||||||
|
{{{ 0x00E1,0x00E2,0x0000 },
|
||||||
|
{ 0x00E3,0x00E4,0x0000 }, 1 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x00E1,0x00E2,0x00E3,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 4 */
|
||||||
|
{{{ 0x00E1,0x00E2,0x0000 },
|
||||||
|
{ 0x00E3,0x00E4,0x0000 }, 0 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x00E1,0x00E2,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 5 */
|
||||||
|
{{{ 0x0000 },
|
||||||
|
{ 0x00D3,0x00D4,0x0000 }, 3 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x00D3,0x00D4,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 6 */
|
||||||
|
{{{ 0x00E1,0x00E2,0x0000 },
|
||||||
|
{ 0x0000 }, 3 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x00E1,0x00E2,0x0000 } },
|
||||||
|
},
|
||||||
|
{is_last: 1}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{Twcsncat, TST_LOC_enUS},
|
||||||
|
{
|
||||||
|
/* 1 */
|
||||||
|
{
|
||||||
|
/* Input: */
|
||||||
|
{{ 0x0041,0x0042,0x0000 },
|
||||||
|
{ 0x0043,0x0044,0x0000 }, 3 },
|
||||||
|
/* Expect: */
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0041,0x0042,0x0043,0x0044,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 2 */
|
||||||
|
{{{ 0x0041,0x0042,0x0000 },
|
||||||
|
{ 0x0043,0x0044,0x0000 }, 2 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0041,0x0042,0x0043,0x0044,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 3 */
|
||||||
|
{{{ 0x0051,0x0052,0x0000 },
|
||||||
|
{ 0x0053,0x0054,0x0000 }, 1 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0051,0x0052,0x0053,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 4 */
|
||||||
|
{{{ 0x0051,0x0052,0x0000 },
|
||||||
|
{ 0x0053,0x0054,0x0000 }, 0 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0051,0x0052,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 5 */
|
||||||
|
{{{ 0x0000 },
|
||||||
|
{ 0x0043,0x0044,0x0000 }, 3 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0043,0x0044,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 6 */
|
||||||
|
{{{ 0x0051,0x0052,0x0000 },
|
||||||
|
{ 0x0000 }, 3 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x0051,0x0052,0x0000 } },
|
||||||
|
},
|
||||||
|
{is_last: 1}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{Twcsncat, TST_LOC_eucJP},
|
||||||
|
{
|
||||||
|
/* 1 */
|
||||||
|
{{{ 0x3041,0x3042,0x0000 },
|
||||||
|
{ 0x3043,0x3044,0x0000 }, 3 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x3041,0x3042,0x3043,0x3044,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 2 */
|
||||||
|
{{{ 0x30A2,0x30A3,0x0000 },
|
||||||
|
{ 0xFF71,0xFF72,0x0000 }, 2 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x30A2,0x30A3,0xFF71,0xFF72,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 3 */
|
||||||
|
{{{ 0x3051,0x3052,0x0000 },
|
||||||
|
{ 0x3053,0x3054,0x0000 }, 1 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x3051,0x3052,0x3053,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 4 */
|
||||||
|
{{{ 0x3051,0x3052,0x0000 },
|
||||||
|
{ 0x3053,0x3054,0x0000 }, 0 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x3051,0x3052,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 5 */
|
||||||
|
{{{ 0x0000 },
|
||||||
|
{ 0x3043,0x3044,0x0000 }, 3 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x3043,0x3044,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 6 */
|
||||||
|
{{{ 0x3051,0x3052,0x0000 },
|
||||||
|
{ 0x0000 }, 3 },
|
||||||
|
{ 0, 0, 0, 0,
|
||||||
|
{ 0x3051,0x3052,0x0000 } },
|
||||||
|
},
|
||||||
|
{is_last: 1}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{Twcsncat, TST_LOC_end}
|
||||||
|
}
|
||||||
|
};
|
115
localedata/tests-mbwc/dat_wcsncpy.c
Normal file
115
localedata/tests-mbwc/dat_wcsncpy.c
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
/*
|
||||||
|
* TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
|
||||||
|
*
|
||||||
|
* FILE: dat_wcsncpy.c
|
||||||
|
*
|
||||||
|
* WCSNCPY: wchar_t *wcsncpy (wchar_t *ws1, const wchar_t *ws2,
|
||||||
|
* size_t n);
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* Note:
|
||||||
|
*
|
||||||
|
* An initial value of ws1 in the test program is defined as:
|
||||||
|
*
|
||||||
|
* #define WCSNUM_NCPY 7
|
||||||
|
* wchar_t ws1 [WCSSIZE] = { 0x9999, 0x9999, 0x9999, 0x9999,
|
||||||
|
* 0x9999, 0x9999, 0x0000 };
|
||||||
|
* */
|
||||||
|
|
||||||
|
|
||||||
|
TST_WCSNCPY tst_wcsncpy_loc [] = {
|
||||||
|
{
|
||||||
|
{Twcsncpy, TST_LOC_de},
|
||||||
|
{
|
||||||
|
/* 1 */
|
||||||
|
{{ { 0x00D1,0x00D2,0x00D3,0x0000 }, 6 },
|
||||||
|
{ 0,0,0,0, { 0x00D1,0x00D2,0x00D3,0x0000,0x0000,0x0000,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 2 */
|
||||||
|
{{ { 0x00D1,0x00D2,0x00D3,0x0000 }, 5 },
|
||||||
|
{ 0,0,0,0, { 0x00D1,0x00D2,0x00D3,0x0000,0x0000,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 3 */
|
||||||
|
{{ { 0x00D1,0x00D2,0x00D3,0x0000 }, 3 },
|
||||||
|
{ 0,0,0,0, { 0x00D1,0x00D2,0x00D3,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 4 */
|
||||||
|
{{ { 0x00D1,0x00D2,0x00D3,0x0000 }, 2 },
|
||||||
|
{ 0,0,0,0, { 0x00D1,0x00D2,0x9999,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 5 */
|
||||||
|
{{ { 0x00D1,0x00D2,0x00D3,0x0000 }, 0 },
|
||||||
|
{ 0,0,0,0, { 0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 6 */
|
||||||
|
{{ { 0x0000,0x00D2,0x00D3,0x0000 }, 3 },
|
||||||
|
{ 0,0,0,0, { 0x0000,0x0000,0x0000,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
{is_last: 1}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{Twcsncpy, TST_LOC_enUS},
|
||||||
|
{
|
||||||
|
/* 1 */
|
||||||
|
{{ { 0x0041,0x0042,0x0043,0x0000 }, 6 },
|
||||||
|
{ 0,0,0,0, { 0x0041,0x0042,0x0043,0x0000,0x0000,0x0000,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 2 */
|
||||||
|
{{ { 0x0041,0x0042,0x0043,0x0000 }, 5 },
|
||||||
|
{ 0,0,0,0, { 0x0041,0x0042,0x0043,0x0000,0x0000,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 3 */
|
||||||
|
{{ { 0x0041,0x0042,0x0043,0x0000 }, 3 },
|
||||||
|
{ 0,0,0,0, { 0x0041,0x0042,0x0043,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 4 */
|
||||||
|
{{ { 0x0041,0x0042,0x0043,0x0000 }, 2 },
|
||||||
|
{ 0,0,0,0, { 0x0041,0x0042,0x9999,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 5 */
|
||||||
|
{{ { 0x0041,0x0042,0x0043,0x0000 }, 0 },
|
||||||
|
{ 0,0,0,0, { 0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 6 */
|
||||||
|
{{ { 0x0000,0x0042,0x0043,0x0000 }, 3 },
|
||||||
|
{ 0,0,0,0, { 0x0000,0x0000,0x0000,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
{is_last: 1}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{Twcsncpy, TST_LOC_eucJP},
|
||||||
|
{
|
||||||
|
/* 1 */
|
||||||
|
{{ { 0x3041,0x3042,0x3043,0x0000 }, 6 },
|
||||||
|
{ 0,0,0,0, { 0x3041,0x3042,0x3043,0x0000,0x0000,0x0000,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 2 */
|
||||||
|
{{ { 0x3041,0x3042,0x3043,0x0000 }, 5 },
|
||||||
|
{ 0,0,0,0, { 0x3041,0x3042,0x3043,0x0000,0x0000,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 3 */
|
||||||
|
{{ { 0x3041,0x3042,0x3043,0x0000 }, 3 },
|
||||||
|
{ 0,0,0,0, { 0x3041,0x3042,0x3043,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 4 */
|
||||||
|
{{ { 0x3041,0x3042,0x3043,0x0000 }, 2 },
|
||||||
|
{ 0,0,0,0, { 0x3041,0x3042,0x9999,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 5 */
|
||||||
|
{{ { 0x3041,0x3042,0x3043,0x0000 }, 0 },
|
||||||
|
{ 0,0,0,0, { 0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
/* 6 */
|
||||||
|
{{ { 0x0000,0x3042,0x3043,0x0000 }, 3 },
|
||||||
|
{ 0,0,0,0, { 0x0000,0x0000,0x0000,0x9999,0x9999,0x9999,0x0000 } },
|
||||||
|
},
|
||||||
|
{is_last: 1}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{Twcsncpy, TST_LOC_end}
|
||||||
|
}
|
||||||
|
};
|
95
localedata/tests-mbwc/dat_wcsxfrm.c
Normal file
95
localedata/tests-mbwc/dat_wcsxfrm.c
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
/*
|
||||||
|
* TEST SUITE FOR MB/WC FUNCTIONS IN CLIBRARY
|
||||||
|
*
|
||||||
|
* FILE: dat_wcsxfrm.c
|
||||||
|
*
|
||||||
|
* WCSXFRM: size_t wcsxfrm (char *s1, const char s2, size_t n);
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NOTE:
|
||||||
|
*
|
||||||
|
* Return value and errno value are checked only for 2nd string:
|
||||||
|
* org2[]; n1 and n2 don't mean bytes to be translated.
|
||||||
|
* It means a buffer size including a null character.
|
||||||
|
* Results of this test depens on results of wcscoll().
|
||||||
|
* If you got errors, check both test results.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
TST_WCSXFRM tst_wcsxfrm_loc [] = {
|
||||||
|
|
||||||
|
{
|
||||||
|
{ Twcsxfrm, TST_LOC_de },
|
||||||
|
{
|
||||||
|
{ /*inp*/ { { 0x00C1,0x0000 }, { 0x00C1,0x0000 }, 7, 7 }, /* #01 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 }, /* #02 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 }, /* #03 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0x00E4,0x0000 }, { 0x00DC,0x0000 }, 7, 7 }, /* #04 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0x00DC,0x0000 }, { 0x00E4,0x0000 }, 7, 7 }, /* #05 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Twcsxfrm, TST_LOC_enUS },
|
||||||
|
{
|
||||||
|
{ /*inp*/ { { 0x0041,0x0000 }, { 0x0041,0x0000 }, 7, 7 }, /* #01 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 }, /* #02 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 }, /* #03 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0x0000,0x0000 }, { 0x0000,0x0000 }, 7, 7 }, /* #04 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
|
||||||
|
{ /* <WAIVER> x 2 */
|
||||||
|
/*inp*/ { { 0x3061,0x0000 }, { 0xFF42,0x0000 }, 7, 7 }, /* #05 */
|
||||||
|
/* <WAIVER> */
|
||||||
|
/*exp*/ { 1,EINVAL, 1,(size_t)-1, },
|
||||||
|
},
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Twcsxfrm, TST_LOC_eucJP }, /* need more test data ! */
|
||||||
|
{
|
||||||
|
{ /*inp*/ { { 0x3041,0x0000 }, { 0x3041,0x0000 }, 7, 7 }, /* #01 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 }, /* #02 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 }, /* #03 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0x30A2,0x0000 }, { 0xFF71,0x0000 }, 7, 7 }, /* #04 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { { 0xFF71,0x0000 }, { 0x30A2,0x0000 }, 7, 7 }, /* #05 */
|
||||||
|
/*exp*/ { 1,0, 0,0, },
|
||||||
|
},
|
||||||
|
/* <WAIVER> x 2 */
|
||||||
|
{ /*inp*/ { { 0x008E,0x0000 }, { 0x008F,0x0000 }, 7, 7 }, /* #06 */
|
||||||
|
/*exp*/ { 1,EINVAL, 1,(size_t)-1, },
|
||||||
|
},
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Twcsxfrm, TST_LOC_end }
|
||||||
|
}
|
||||||
|
};
|
100
localedata/tests-mbwc/dat_wcwidth.c
Normal file
100
localedata/tests-mbwc/dat_wcwidth.c
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
/*
|
||||||
|
* TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
|
||||||
|
*
|
||||||
|
* FILE: dat_wcwidth.c
|
||||||
|
*
|
||||||
|
* WCWIDTH: int wcwidth (wchar_t wc);
|
||||||
|
*/
|
||||||
|
|
||||||
|
TST_WCWIDTH tst_wcwidth_loc [] = {
|
||||||
|
{
|
||||||
|
{ Twcwidth, TST_LOC_de },
|
||||||
|
{
|
||||||
|
{ /*inp*/ { 0x0000 }, /* #01 */
|
||||||
|
/*exp*/ { 0,0, 1,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x0020 }, /* #02 */
|
||||||
|
/*exp*/ { 0,0, 1,1, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x007F }, /* #03 */
|
||||||
|
/*exp*/ { 0,0, 1,-1, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x0080 }, /* #04 */
|
||||||
|
/*exp*/ { 0,0, 1,-1, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x00A1 }, /* #05 */
|
||||||
|
/*exp*/ { 0,0, 1,1, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x00C1 }, /* #06 */
|
||||||
|
/*exp*/ { 0,0, 1,1, },
|
||||||
|
},
|
||||||
|
/* <WAIVER> */ /* CHECK : wint_t */
|
||||||
|
{ /*inp*/ { 0x3041 }, /* #07 */
|
||||||
|
/*exp*/ { 0,0, 1,0, },
|
||||||
|
},
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Twcwidth, TST_LOC_enUS },
|
||||||
|
{
|
||||||
|
{ /*inp*/ { 0x0000 }, /* #01 */
|
||||||
|
/*exp*/ { 0,0, 1,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x0020 }, /* #02 */
|
||||||
|
/*exp*/ { 0,0, 1,1, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x007F }, /* #03 */
|
||||||
|
/*exp*/ { 0,0, 1,-1, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x0080 }, /* #04 */
|
||||||
|
/*exp*/ { 0,0, 1,-1, },
|
||||||
|
},
|
||||||
|
/* <WAIVER> */ /* assume ascii */
|
||||||
|
{ /*inp*/ { 0x00A1 }, /* #05 */
|
||||||
|
/*exp*/ { 0,0, 1,-1, },
|
||||||
|
},
|
||||||
|
/* <WAIVER> */ /* assume ascii */
|
||||||
|
{ /*inp*/ { 0x00C1 }, /* #06 */
|
||||||
|
/*exp*/ { 0,0, 1,-1, },
|
||||||
|
},
|
||||||
|
/* <WAIVER> */ /* CHECK : wint_t */
|
||||||
|
{ /*inp*/ { 0x3041 }, /* #07 */
|
||||||
|
/*exp*/ { 0,0, 1,-1, },
|
||||||
|
},
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Twcwidth, TST_LOC_eucJP },
|
||||||
|
{
|
||||||
|
{ /*inp*/ { 0x0000 }, /* #01 */
|
||||||
|
/*exp*/ { 0,0, 1,0, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x0020 }, /* #02 */
|
||||||
|
/*exp*/ { 0,0, 1,1, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x007F }, /* #03 */
|
||||||
|
/*exp*/ { 0,0, 1,-1, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x0080 }, /* #04 */
|
||||||
|
/*exp*/ { 0,0, 1,-1, },
|
||||||
|
},
|
||||||
|
/* <NO_WAIVER> */
|
||||||
|
{ /*inp*/ { 0x00A1 }, /* #05 */
|
||||||
|
/*exp*/ { 0,0, 1,0, },
|
||||||
|
},
|
||||||
|
/* jisx0212 */
|
||||||
|
{ /*inp*/ { 0x00C1 }, /* #06 */
|
||||||
|
/*exp*/ { 0,0, 1,2, },
|
||||||
|
},
|
||||||
|
{ /*inp*/ { 0x3041 }, /* #07 */
|
||||||
|
/*exp*/ { 0,0, 1,2, },
|
||||||
|
},
|
||||||
|
{ is_last: 1 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ Twcwidth, TST_LOC_end }
|
||||||
|
}
|
||||||
|
};
|
53
localedata/tests-mbwc/tst_iswctype.c
Normal file
53
localedata/tests-mbwc/tst_iswctype.c
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
ISWCTYPE: int iswctype (wint_t wc, wctype_t desc);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define TST_FUNCTION iswctype
|
||||||
|
|
||||||
|
#include "tsp_common.c"
|
||||||
|
#include "dat_iswctype.c"
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
tst_iswctype (FILE *fp, int debug_flg)
|
||||||
|
{
|
||||||
|
TST_DECL_VARS (int);
|
||||||
|
wint_t wc;
|
||||||
|
const char *ts;
|
||||||
|
|
||||||
|
TST_DO_TEST (iswctype)
|
||||||
|
{
|
||||||
|
TST_HEAD_LOCALE (iswctype, S_ISWCTYPE);
|
||||||
|
TST_DO_REC (iswctype)
|
||||||
|
{
|
||||||
|
TST_GET_ERRET (iswctype);
|
||||||
|
wc = TST_INPUT (iswctype).wc;
|
||||||
|
ts = TST_INPUT (iswctype).ts;
|
||||||
|
ret = iswctype (wc, wctype (ts));
|
||||||
|
TST_SAVE_ERRNO;
|
||||||
|
if (debug_flg)
|
||||||
|
{
|
||||||
|
fprintf (stdout, "iswctype() [ %s : %d ] ret = %d\n",
|
||||||
|
locale, rec+1, ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
TST_IF_RETURN (S_ISWCTYPE)
|
||||||
|
{
|
||||||
|
if (ret != 0)
|
||||||
|
{
|
||||||
|
result (fp, C_SUCCESS, S_ISWCTYPE, locale, rec+1,
|
||||||
|
seq_num+1, 3, MS_PASSED);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
err_count++;
|
||||||
|
result (fp, C_FAILURE, S_ISWCTYPE, locale, rec+1,
|
||||||
|
seq_num+1, 3,
|
||||||
|
"the function returned 0, but should be non-zero");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return err_count;
|
||||||
|
}
|
11
localedata/tests-mbwc/tst_towlower.c
Normal file
11
localedata/tests-mbwc/tst_towlower.c
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/*
|
||||||
|
TOWLOWER: int towlower (wint_t wc);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define TST_FUNCTION towlower
|
||||||
|
|
||||||
|
#include "tsp_common.c"
|
||||||
|
#include "dat_towlower.c"
|
||||||
|
|
||||||
|
|
||||||
|
TST_FUNC_TOW (LOWER, lower);
|
10
localedata/tests-mbwc/tst_towupper.c
Normal file
10
localedata/tests-mbwc/tst_towupper.c
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/*
|
||||||
|
TOWUPPER: int towupper (wint_t wc);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define TST_FUNCTION towupper
|
||||||
|
|
||||||
|
#include "tsp_common.c"
|
||||||
|
#include "dat_towupper.c"
|
||||||
|
|
||||||
|
TST_FUNC_TOW (UPPER, upper);
|
78
localedata/tests-mbwc/tst_wcscat.c
Normal file
78
localedata/tests-mbwc/tst_wcscat.c
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
/*
|
||||||
|
WCSCAT: wchar_t *wcscat (wchar_t *ws1, const wchar_t *ws2);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define TST_FUNCTION wcscat
|
||||||
|
|
||||||
|
#include "tsp_common.c"
|
||||||
|
#include "dat_wcscat.c"
|
||||||
|
|
||||||
|
int
|
||||||
|
tst_wcscat (FILE * fp, int debug_flg)
|
||||||
|
{
|
||||||
|
TST_DECL_VARS (wchar_t *);
|
||||||
|
wchar_t *ws1, *ws2, *ws_ex;
|
||||||
|
int i, err;
|
||||||
|
|
||||||
|
TST_DO_TEST (wcscat)
|
||||||
|
{
|
||||||
|
TST_HEAD_LOCALE (wcscat, S_WCSCAT);
|
||||||
|
TST_DO_REC (wcscat)
|
||||||
|
{
|
||||||
|
TST_GET_ERRET (wcscat);
|
||||||
|
ws1 = TST_INPUT (wcscat).ws1; /* external value: size WCSSIZE */
|
||||||
|
ws2 = TST_INPUT (wcscat).ws2;
|
||||||
|
|
||||||
|
TST_CLEAR_ERRNO;
|
||||||
|
ret = wcscat (ws1, ws2);
|
||||||
|
TST_SAVE_ERRNO;
|
||||||
|
|
||||||
|
TST_IF_RETURN (S_WCSCAT)
|
||||||
|
{
|
||||||
|
if (ret == ws1)
|
||||||
|
{
|
||||||
|
Result (C_SUCCESS, S_WCSCAT, CASE_3, MS_PASSED);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
err_count++;
|
||||||
|
Result (C_FAILURE, S_WCSCAT, CASE_3,
|
||||||
|
"the return address may not be correct");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* function specific test cases here */
|
||||||
|
|
||||||
|
if (ret == ws1)
|
||||||
|
{
|
||||||
|
ws_ex = TST_EXPECT (wcscat).ws;
|
||||||
|
for (err = 0, i = 0;
|
||||||
|
(ws1[i] != 0L || ws_ex[i] != 0L) && i < WCSSIZE; i++)
|
||||||
|
{
|
||||||
|
if (debug_flg)
|
||||||
|
{
|
||||||
|
fprintf (stdout, "tst_wcscat() : ws1[%d] = 0x%x\n", i,
|
||||||
|
ws1[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ws1[i] != ws_ex[i])
|
||||||
|
{
|
||||||
|
err++;
|
||||||
|
err_count++;
|
||||||
|
Result (C_FAILURE, S_WCSCAT, CASE_4,
|
||||||
|
"concatinated string is different from an "
|
||||||
|
"expected string");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!err)
|
||||||
|
{
|
||||||
|
Result (C_SUCCESS, S_WCSCAT, CASE_4, MS_PASSED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return err_count;
|
||||||
|
}
|
39
localedata/tests-mbwc/tst_wcscmp.c
Normal file
39
localedata/tests-mbwc/tst_wcscmp.c
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
WCSCMP: int wcscmp (const wchar_t *ws1, const wchar_t *ws2);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define TST_FUNCTION wcscmp
|
||||||
|
|
||||||
|
#include "tsp_common.c"
|
||||||
|
#include "dat_wcscmp.c"
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
tst_wcscmp (FILE * fp, int debug_flg)
|
||||||
|
{
|
||||||
|
TST_DECL_VARS (int);
|
||||||
|
wchar_t *ws1, *ws2;
|
||||||
|
|
||||||
|
TST_DO_TEST (wcscmp)
|
||||||
|
{
|
||||||
|
TST_HEAD_LOCALE (wcscmp, S_WCSCMP);
|
||||||
|
TST_DO_REC (wcscmp)
|
||||||
|
{
|
||||||
|
TST_GET_ERRET (wcscmp);
|
||||||
|
ws1 = TST_INPUT (wcscmp).ws1;
|
||||||
|
ws2 = TST_INPUT (wcscmp).ws2;
|
||||||
|
ret = wcscmp (ws1, ws2);
|
||||||
|
|
||||||
|
if (debug_flg)
|
||||||
|
{
|
||||||
|
fprintf (stderr, "tst_wcscmp: ret = %d\n", ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
TST_IF_RETURN (S_WCSCMP)
|
||||||
|
{
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return err_count;
|
||||||
|
}
|
74
localedata/tests-mbwc/tst_wcsncat.c
Normal file
74
localedata/tests-mbwc/tst_wcsncat.c
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
WCSNCAT: wchar_t *wcsncat (wchar_t *ws1, const wchar_t *ws2, size_t n);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define TST_FUNCTION wcsncat
|
||||||
|
|
||||||
|
#include "tsp_common.c"
|
||||||
|
#include "dat_wcsncat.c"
|
||||||
|
|
||||||
|
int
|
||||||
|
tst_wcsncat (FILE * fp, int debug_flg)
|
||||||
|
{
|
||||||
|
TST_DECL_VARS (wchar_t *);
|
||||||
|
wchar_t *ws1, *ws2, *ws_ex;
|
||||||
|
int n, i, err;
|
||||||
|
|
||||||
|
TST_DO_TEST (wcsncat)
|
||||||
|
{
|
||||||
|
TST_HEAD_LOCALE (wcsncat, S_WCSNCAT);
|
||||||
|
TST_DO_REC (wcsncat)
|
||||||
|
{
|
||||||
|
TST_GET_ERRET (wcsncat);
|
||||||
|
ws1 = TST_INPUT (wcsncat).ws1; /* external value: size WCSSIZE */
|
||||||
|
ws2 = TST_INPUT (wcsncat).ws2;
|
||||||
|
n = TST_INPUT (wcsncat).n;
|
||||||
|
ret = wcsncat (ws1, ws2, n);
|
||||||
|
|
||||||
|
TST_IF_RETURN (S_WCSNCAT)
|
||||||
|
{
|
||||||
|
if (ret == ws1)
|
||||||
|
{
|
||||||
|
Result (C_SUCCESS, S_WCSNCAT, CASE_3, MS_PASSED);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
err_count++;
|
||||||
|
Result (C_FAILURE, S_WCSNCAT, CASE_3,
|
||||||
|
"the return address may not be correct");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ret == ws1)
|
||||||
|
{
|
||||||
|
ws_ex = TST_EXPECT (wcsncat).ws;
|
||||||
|
|
||||||
|
for (err = 0, i = 0;
|
||||||
|
(ws1[i] != 0L || ws_ex[i] != 0L) && i < WCSSIZE; i++)
|
||||||
|
{
|
||||||
|
if (debug_flg)
|
||||||
|
{
|
||||||
|
fprintf (stderr, "ws1[%d] = 0x%x\n", i, ws1[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ws1[i] != ws_ex[i])
|
||||||
|
{
|
||||||
|
err++;
|
||||||
|
err_count++;
|
||||||
|
Result (C_FAILURE, S_WCSNCAT, CASE_4,
|
||||||
|
"the concatinated string has "
|
||||||
|
"different value from an expected string");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!err)
|
||||||
|
{
|
||||||
|
Result (C_SUCCESS, S_WCSNCAT, CASE_4, MS_PASSED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return err_count;
|
||||||
|
}
|
92
localedata/tests-mbwc/tst_wcsncpy.c
Normal file
92
localedata/tests-mbwc/tst_wcsncpy.c
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
/*
|
||||||
|
WCSNCPY: wchar_t *wcsncpy (wchar_t *ws1, const wchar_t *ws2, size_t n);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define TST_FUNCTION wcsncpy
|
||||||
|
|
||||||
|
#include "tsp_common.c"
|
||||||
|
#include "dat_wcsncpy.c"
|
||||||
|
|
||||||
|
#define WCSNUM_NCPY 7
|
||||||
|
|
||||||
|
int
|
||||||
|
tst_wcsncpy (FILE *fp, int debug_flg)
|
||||||
|
{
|
||||||
|
TST_DECL_VARS (wchar_t *);
|
||||||
|
wchar_t ws1[WCSSIZE] =
|
||||||
|
{ 0x9999, 0x9999, 0x9999, 0x9999, 0x9999, 0x9999, 0x0000 };
|
||||||
|
wchar_t *ws2, *ws_ex;
|
||||||
|
int err, i;
|
||||||
|
size_t n;
|
||||||
|
|
||||||
|
TST_DO_TEST (wcsncpy)
|
||||||
|
{
|
||||||
|
TST_HEAD_LOCALE (wcsncpy, S_WCSNCPY);
|
||||||
|
TST_DO_REC (wcsncpy)
|
||||||
|
{
|
||||||
|
TST_GET_ERRET (wcsncpy);
|
||||||
|
|
||||||
|
for (n = 0; n < WCSNUM_NCPY - 1; ++n)
|
||||||
|
{
|
||||||
|
ws1[n] = 0x9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
ws1[n] = 0;
|
||||||
|
ws2 = TST_INPUT (wcsncpy).ws; /* external value: size WCSSIZE */
|
||||||
|
n = TST_INPUT (wcsncpy).n;
|
||||||
|
ret = wcsncpy (ws1, ws2, n);
|
||||||
|
|
||||||
|
TST_IF_RETURN (S_WCSNCPY)
|
||||||
|
{
|
||||||
|
if (ret == ws1)
|
||||||
|
{
|
||||||
|
Result (C_SUCCESS, S_WCSNCPY, CASE_3, MS_PASSED);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
err_count++;
|
||||||
|
Result (C_FAILURE, S_WCSNCPY, CASE_3,
|
||||||
|
"the return address may not be correct");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ret == ws1)
|
||||||
|
{
|
||||||
|
if (debug_flg)
|
||||||
|
{
|
||||||
|
fprintf (stderr, "\nwcsncpy: n = %d\n\n", n);
|
||||||
|
}
|
||||||
|
|
||||||
|
ws_ex = TST_EXPECT (wcsncpy).ws;
|
||||||
|
|
||||||
|
for (err = 0, i = 0; i < WCSNUM_NCPY && i < WCSSIZE; i++)
|
||||||
|
{
|
||||||
|
if (debug_flg)
|
||||||
|
fprintf (stderr,
|
||||||
|
"wcsncpy: ws1[ %d ] = 0x%x <-> wx_ex[ %d ] = 0x%x\n",
|
||||||
|
i, ws1[i], i, ws_ex[i]);
|
||||||
|
|
||||||
|
if (ws1[i] != ws_ex[i])
|
||||||
|
{
|
||||||
|
err++;
|
||||||
|
err_count++;
|
||||||
|
Result (C_FAILURE, S_WCSNCPY, CASE_4,
|
||||||
|
"copied string is different from an "
|
||||||
|
"expected string");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!err)
|
||||||
|
{
|
||||||
|
Result (C_SUCCESS, S_WCSNCPY, CASE_4, MS_PASSED);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* A null terminate character is not supposed to be copied
|
||||||
|
unless (num chars of ws2)<n. */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return err_count;
|
||||||
|
}
|
122
localedata/tests-mbwc/tst_wcsxfrm.c
Normal file
122
localedata/tests-mbwc/tst_wcsxfrm.c
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
/*
|
||||||
|
WCSXFRM: size_t wcsxfrm (wchar_t *ws1, const wchar_t *ws2, size_t n);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define TST_FUNCTION wcsxfrm
|
||||||
|
|
||||||
|
#include "tsp_common.c"
|
||||||
|
#include "dat_wcsxfrm.c"
|
||||||
|
|
||||||
|
int
|
||||||
|
tst_wcsxfrm (FILE * fp, int debug_flg)
|
||||||
|
{
|
||||||
|
TST_DECL_VARS (size_t);
|
||||||
|
wchar_t *org1, *org2;
|
||||||
|
wchar_t frm1[MBSSIZE], frm2[MBSSIZE];
|
||||||
|
size_t n1, n2;
|
||||||
|
int ret_coll, ret_cmp;
|
||||||
|
|
||||||
|
TST_DO_TEST (wcsxfrm)
|
||||||
|
{
|
||||||
|
TST_HEAD_LOCALE (wcsxfrm, S_WCSXFRM);
|
||||||
|
TST_DO_REC (wcsxfrm)
|
||||||
|
{
|
||||||
|
TST_GET_ERRET (wcsxfrm);
|
||||||
|
org1 = TST_INPUT (wcsxfrm).org1;
|
||||||
|
org2 = TST_INPUT (wcsxfrm).org2;
|
||||||
|
n1 = TST_INPUT (wcsxfrm).n1;
|
||||||
|
n2 = TST_INPUT (wcsxfrm).n2;
|
||||||
|
if (n1 < 0 || sizeof (frm1) < n1 || sizeof (frm2) < n2)
|
||||||
|
{
|
||||||
|
warn_count++;
|
||||||
|
Result (C_IGNORED, S_WCSXFRM, CASE_9,
|
||||||
|
"input data n1 or n2 is invalid");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* an errno and a return value are checked
|
||||||
|
only for 2nd wcsxfrm() call.
|
||||||
|
A result of 1st call is used to compare
|
||||||
|
those 2 values by using wcscmp().
|
||||||
|
*/
|
||||||
|
|
||||||
|
TST_CLEAR_ERRNO;
|
||||||
|
ret = wcsxfrm (frm1, org1, n1); /* First call */
|
||||||
|
TST_SAVE_ERRNO;
|
||||||
|
|
||||||
|
if (debug_flg)
|
||||||
|
{
|
||||||
|
fprintf (stdout, "tst_wcsxfrm() : REC = %d\n", rec + 1);
|
||||||
|
fprintf (stdout, "tst_wcsxfrm() : 1st ret = %d\n", ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ret == -1 || ret >= n1 || errno_save != 0)
|
||||||
|
{
|
||||||
|
warn_count++;
|
||||||
|
Result (C_INVALID, S_WCSXFRM, CASE_8,
|
||||||
|
"got an error in fist wcsxfrm() call");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
TST_CLEAR_ERRNO;
|
||||||
|
/* Second call */
|
||||||
|
ret = wcsxfrm (((n2 == 0) ? NULL : frm2), org2, n2);
|
||||||
|
TST_SAVE_ERRNO;
|
||||||
|
|
||||||
|
TST_IF_RETURN (S_WCSXFRM)
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
if (n2 == 0 || ret >= n2 || errno != 0)
|
||||||
|
{
|
||||||
|
#if 0
|
||||||
|
warn_count++;
|
||||||
|
Result (C_IGNORED, S_WCSXFRM, CASE_7, "did not get a result");
|
||||||
|
#endif
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (debug_flg)
|
||||||
|
{
|
||||||
|
fprintf (stdout, "tst_wcsxfrm() : 2nd ret = %d\n", ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* wcscoll() */
|
||||||
|
TST_CLEAR_ERRNO;
|
||||||
|
/* depends on wcscoll() ... not good though ... */
|
||||||
|
ret_coll = wcscoll (org1, org2);
|
||||||
|
TST_SAVE_ERRNO;
|
||||||
|
|
||||||
|
if (errno != 0) /* bugs * bugs may got correct results ... */
|
||||||
|
{
|
||||||
|
warn_count++;
|
||||||
|
Result (C_INVALID, S_WCSXFRM, CASE_6,
|
||||||
|
"got an error in wcscoll() call");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
/* wcscmp() */
|
||||||
|
ret_cmp = wcscmp (frm1, frm2);
|
||||||
|
|
||||||
|
if ((ret_coll == ret_cmp) || (ret_coll > 0 && ret_cmp > 0)
|
||||||
|
|| (ret_coll < 0 && ret_cmp < 0))
|
||||||
|
{
|
||||||
|
Result (C_SUCCESS, S_WCSXFRM, CASE_3,
|
||||||
|
MS_PASSED " (depends on wcscoll & wcscmp)");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
err_count++;
|
||||||
|
Result (C_FAILURE, S_WCSXFRM, CASE_3,
|
||||||
|
"results from wcscoll & wcscmp() do not match");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (debug_flg)
|
||||||
|
{
|
||||||
|
fprintf (stdout, "tst_wcsxfrm() : coll = %d <-> %d = cmp\n",
|
||||||
|
ret_coll, ret_cmp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return err_count;
|
||||||
|
}
|
38
localedata/tests-mbwc/tst_wcwidth.c
Normal file
38
localedata/tests-mbwc/tst_wcwidth.c
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
WCWIDTH: int wcwidth (wchar_t wc);
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define TST_FUNCTION wcwidth
|
||||||
|
|
||||||
|
#include "tsp_common.c"
|
||||||
|
#include "dat_wcwidth.c"
|
||||||
|
|
||||||
|
int
|
||||||
|
tst_wcwidth (FILE * fp, int debug_flg)
|
||||||
|
{
|
||||||
|
TST_DECL_VARS (int);
|
||||||
|
wchar_t wc;
|
||||||
|
|
||||||
|
TST_DO_TEST (wcwidth)
|
||||||
|
{
|
||||||
|
TST_HEAD_LOCALE (wcwidth, S_WCWIDTH);
|
||||||
|
TST_DO_REC (wcwidth)
|
||||||
|
{
|
||||||
|
TST_GET_ERRET (wcwidth);
|
||||||
|
wc = TST_INPUT (wcwidth).wc;
|
||||||
|
ret = wcwidth (wc);
|
||||||
|
|
||||||
|
if (debug_flg)
|
||||||
|
{
|
||||||
|
fprintf (stdout, "wcwidth() [ %s : %d ] ret = %d\n", locale,
|
||||||
|
rec + 1, ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
TST_IF_RETURN (S_WCWIDTH)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return err_count;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user