Fix various bugs. Comment out unresolved issues.
[kopensolaris-gnu/glibc.git] / localedata / tests-mbwc / dat_wcsxfrm.c
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
20 TST_WCSXFRM tst_wcsxfrm_loc [] = {
21
22   {
23     { Twcsxfrm, TST_LOC_de },
24     {
25       { /*inp*/ { { 0x00C1,0x0000 }, { 0x00C1,0x0000 }, 7, 7 },  /* #01 */
26         /*exp*/ {   1,0,               0,0,                  },
27       },
28       { /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 },  /* #02 */
29         /*exp*/ {   1,0,               0,0,                  },
30       },
31       { /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 },  /* #03 */
32         /*exp*/ {   1,0,               0,0,                  },
33       },
34       { /*inp*/ { { 0x00E4,0x0000 }, { 0x00DC,0x0000 }, 7, 7 },  /* #04 */
35         /*exp*/ {   1,0,               0,0,                  },
36       },
37       { /*inp*/ { { 0x00DC,0x0000 }, { 0x00E4,0x0000 }, 7, 7 },  /* #05 */
38         /*exp*/ {   1,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*/ {   1,0,               0,0,                  },
48       },
49       { /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 },  /* #02 */
50         /*exp*/ {   1,0,               0,0,                  },
51       },
52       { /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 },  /* #03 */
53         /*exp*/ {   1,0,               0,0,                  },
54       },
55       { /*inp*/ { { 0x0000,0x0000 }, { 0x0000,0x0000 }, 7, 7 },  /* #04 */
56         /*exp*/ {   1,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*/ {   1,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*/ {   1,0,               0,0,                  },
73       },
74       { /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 },  /* #02 */
75         /*exp*/ {   1,0,               0,0,                  },
76       },
77       { /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 },  /* #03 */
78         /*exp*/ {   1,0,               0,0,                  },
79       },
80       { /*inp*/ { { 0x30A2,0x0000 }, { 0xFF71,0x0000 }, 7, 7 },  /* #04 */
81         /*exp*/ {   1,0,               0,0,                  },
82       },
83       { /*inp*/ { { 0xFF71,0x0000 }, { 0x30A2,0x0000 }, 7, 7 },  /* #05 */
84         /*exp*/ {   1,0,               0,0,                  },
85       },
86 #ifdef NO_WAIVER
87       /* <WAIVER> x 2 */
88       { /*inp*/ { { 0x008E,0x0000 }, { 0x008F,0x0000 }, 7, 7 },  /* #06 */
89         /*exp*/ {   1,EINVAL,          1,(size_t)-1,         },
90       },
91 #endif
92       { is_last: 1 }
93     }
94   },
95   {
96     { Twcsxfrm, TST_LOC_end }
97   }
98 };