1/*
2 * TEST SUITE FOR MB/WC FUNCTIONS IN CLIBRARY
3 *
4 * FILE: dat_wcsxfrm.c
5 *
6 * WCSXFRM: size_t wcsxfrm (char *s1, const char s2, size_t n);
7 */
8
9/*
10 * NOTE:
11 *
12 * Return value and errno value are checked only for 2nd string:
13 * org2[]; n1 and n2 don't mean bytes to be translated.
14 * It means a buffer size including a null character.
15 * Results of this test depens on results of wcscoll().
16 * If you got errors, check both test results.
17 */
18
19
20TST_WCSXFRM tst_wcsxfrm_loc [] = {
21
22 {
23 { Twcsxfrm, TST_LOC_de },
24 {
25 { /*inp*/ { { 0x00C1,0x0000 }, { 0x00C1,0x0000 }, 7, 7 }, /* #01 */
26 /*exp*/ { 0, 0,0, },
27 },
28 { /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 }, /* #02 */
29 /*exp*/ { 0, 0,0, },
30 },
31 { /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 }, /* #03 */
32 /*exp*/ { 0, 0,0, },
33 },
34 { /*inp*/ { { 0x00E4,0x0000 }, { 0x00DC,0x0000 }, 7, 7 }, /* #04 */
35 /*exp*/ { 0, 0,0, },
36 },
37 { /*inp*/ { { 0x00DC,0x0000 }, { 0x00E4,0x0000 }, 7, 7 }, /* #05 */
38 /*exp*/ { 0, 0,0, },
39 },
40 { .is_last = 1 }
41 }
42 },
43 {
44 { Twcsxfrm, TST_LOC_enUS },
45 {
46 { /*inp*/ { { 0x0041,0x0000 }, { 0x0041,0x0000 }, 7, 7 }, /* #01 */
47 /*exp*/ { 0, 0,0, },
48 },
49 { /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 }, /* #02 */
50 /*exp*/ { 0, 0,0, },
51 },
52 { /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 }, /* #03 */
53 /*exp*/ { 0, 0,0, },
54 },
55 { /*inp*/ { { 0x0000,0x0000 }, { 0x0000,0x0000 }, 7, 7 }, /* #04 */
56 /*exp*/ { 0, 0,0, },
57 },
58#ifdef NO_WAIVER
59 { /* <WAIVER> x 2 */
60 /*inp*/ { { 0x3061,0x0000 }, { 0xFF42,0x0000 }, 7, 7 }, /* #05 */
61 /* <WAIVER> */
62 /*exp*/ { EINVAL, 1,(size_t)-1, },
63 },
64#endif
65 { .is_last = 1 }
66 }
67 },
68 {
69 { Twcsxfrm, TST_LOC_eucJP }, /* need more test data ! */
70 {
71 { /*inp*/ { { 0x3041,0x0000 }, { 0x3041,0x0000 }, 7, 7 }, /* #01 */
72 /*exp*/ { 0, 0,0, },
73 },
74 { /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 }, /* #02 */
75 /*exp*/ { 0, 0,0, },
76 },
77 { /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 }, /* #03 */
78 /*exp*/ { 0, 0,0, },
79 },
80 { /*inp*/ { { 0x30A2,0x0000 }, { 0xFF71,0x0000 }, 7, 7 }, /* #04 */
81 /*exp*/ { 0, 0,0, },
82 },
83 { /*inp*/ { { 0xFF71,0x0000 }, { 0x30A2,0x0000 }, 7, 7 }, /* #05 */
84 /*exp*/ { 0, 0,0, },
85 },
86#ifdef NO_WAIVER
87 /* <WAIVER> x 2 */
88 { /*inp*/ { { 0x008E,0x0000 }, { 0x008F,0x0000 }, 7, 7 }, /* #06 */
89 /*exp*/ { EINVAL, 1,(size_t)-1, },
90 },
91#endif
92 { .is_last = 1 }
93 }
94 },
95 {
96 { Twcsxfrm, TST_LOC_end }
97 }
98};
99

source code of glibc/localedata/tests-mbwc/dat_wcsxfrm.c