blob: b6b7c2974f896a390838eb01bb54bda762e075f1 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001/*
2 * TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
3 *
4 * FILE: dat_wcwidth.c
5 *
6 * WCWIDTH: int wcwidth (wchar_t wc);
7 */
8
9TST_WCWIDTH tst_wcwidth_loc [] = {
10 {
11 { Twcwidth, TST_LOC_de },
12 {
13 { /*inp*/ { 0x0000 }, /* #01 */
14 /*exp*/ { 0, 1,0, },
15 },
16 { /*inp*/ { 0x0020 }, /* #02 */
17 /*exp*/ { 0, 1,1, },
18 },
19 { /*inp*/ { 0x007F }, /* #03 */
20 /*exp*/ { 0, 1,-1, },
21 },
22 { /*inp*/ { 0x0080 }, /* #04 */
23 /*exp*/ { 0, 1,-1, },
24 },
25 { /*inp*/ { 0x00A1 }, /* #05 */
26 /*exp*/ { 0, 1,1, },
27 },
28 { /*inp*/ { 0x00C1 }, /* #06 */
29 /*exp*/ { 0, 1,1, },
30 },
31#ifdef SHOJI_IS_RIGHT
32 /* <WAIVER> */ /* CHECK : wint_t */
33 { /*inp*/ { 0x3041 }, /* #07 */
34 /*exp*/ { 0, 1,0, },
35 },
36#else
37 { /*inp*/ { 0x3041 }, /* #07 */
38 /*exp*/ { 0, 1,EOF, },
39 },
40#endif
41 { .is_last = 1 }
42 }
43 },
44 {
45 { Twcwidth, TST_LOC_enUS },
46 {
47 { /*inp*/ { 0x0000 }, /* #01 */
48 /*exp*/ { 0, 1,0, },
49 },
50 { /*inp*/ { 0x0020 }, /* #02 */
51 /*exp*/ { 0, 1,1, },
52 },
53 { /*inp*/ { 0x007F }, /* #03 */
54 /*exp*/ { 0, 1,-1, },
55 },
56 { /*inp*/ { 0x0080 }, /* #04 */
57 /*exp*/ { 0, 1,-1, },
58 },
59 { /*inp*/ { 0x00A1 }, /* #05 */
60 /*exp*/ { 0, 1,-1, },
61 },
62 { /*inp*/ { 0x00C1 }, /* #06 */
63 /*exp*/ { 0, 1,-1, },
64 },
65 { /*inp*/ { 0x3041 }, /* #07 */
66 /*exp*/ { 0, 1,-1, },
67 },
68 { .is_last = 1 }
69 }
70 },
71#if 0
72 {
73 { Twcwidth, TST_LOC_eucJP },
74 {
75 { /*inp*/ { 0x0000 }, /* #01 */
76 /*exp*/ { 0, 1,0, },
77 },
78 { /*inp*/ { 0x0020 }, /* #02 */
79 /*exp*/ { 0, 1,1, },
80 },
81 { /*inp*/ { 0x007F }, /* #03 */
82 /*exp*/ { 0, 1,-1, },
83 },
84 { /*inp*/ { 0x0080 }, /* #04 */
85 /*exp*/ { 0, 1,-1, },
86 },
87#ifdef SHOJI_IS_RIGHT
88 /* <NO_WAIVER> */
89 { /*inp*/ { 0x00A1 }, /* #05 */
90 /*exp*/ { 0, 1,0, },
91 },
92#else
93 /* XXX U00A1 is a valid character in EUC-JP. */
94 { /*inp*/ { 0x00A1 }, /* #05 */
95 /*exp*/ { 0, 1,2, },
96 },
97#endif
98 /* jisx0212 */
99 { /*inp*/ { 0x00C1 }, /* #06 */
100 /*exp*/ { 0, 1,2, },
101 },
102 { /*inp*/ { 0x3041 }, /* #07 */
103 /*exp*/ { 0, 1,2, },
104 },
105 { .is_last = 1 }
106 }
107 },
108#else
109 {
110 { Twcwidth, TST_LOC_ja_UTF8 },
111 {
112 { /*inp*/ { 0x0000 }, /* #01 */
113 /*exp*/ { 0, 1,0, },
114 },
115 { /*inp*/ { 0x0020 }, /* #02 */
116 /*exp*/ { 0, 1,1, },
117 },
118 { /*inp*/ { 0x007F }, /* #03 */
119 /*exp*/ { 0, 1,-1, },
120 },
121 { /*inp*/ { 0x0080 }, /* #04 */
122 /*exp*/ { 0, 1,-1, },
123 },
124#ifdef SHOJI_IS_RIGHT
125 /* <NO_WAIVER> */
126 { /*inp*/ { 0x00A1 }, /* #05 */
127 /*exp*/ { 0, 1,0, },
128 },
129#else
130 /* XXX U00A1 is a valid character in EUC-JP.UTF-8. */
131 { /*inp*/ { 0x00A1 }, /* #05 */
132 /*exp*/ { 0, 1,1, },
133 },
134#endif
135 /* jisx0212 */
136 { /*inp*/ { 0x00C1 }, /* #06 */
137 /*exp*/ { 0, 1,1, },
138 },
139 { /*inp*/ { 0x3041 }, /* #07 */
140 /*exp*/ { 0, 1,2, },
141 },
142 { .is_last = 1 }
143 }
144 },
145#endif
146 {
147 { Twcwidth, TST_LOC_end }
148 }
149};