summaryrefslogtreecommitdiff
path: root/test/locale-mbwc/dat_wcsxfrm.c
blob: acb6727a898b12491d0ece02965663bb7da29baa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/*
 *  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*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 },	 /* #02 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 },	 /* #03 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0x00E4,0x0000 }, { 0x00DC,0x0000 }, 7, 7 },	 /* #04 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0x00DC,0x0000 }, { 0x00E4,0x0000 }, 7, 7 },	 /* #05 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { .is_last = 1 }
    }
  },
  {
    { Twcsxfrm, TST_LOC_enUS },
    {
      { /*inp*/ { { 0x0041,0x0000 }, { 0x0041,0x0000 }, 7, 7 },	 /* #01 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 },	 /* #02 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 },	 /* #03 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0x0000,0x0000 }, { 0x0000,0x0000 }, 7, 7 },	 /* #04 */
	/*exp*/ {   0,	       0,0,		     },
      },
#ifdef NO_WAIVER
      { /* <WAIVER> x 2 */
	/*inp*/ { { 0x3061,0x0000 }, { 0xFF42,0x0000 }, 7, 7 },	 /* #05 */
	/* <WAIVER>	*/
	/*exp*/ {   EINVAL,	       1,(size_t)-1,	     },
      },
#endif
      { .is_last = 1 }
    }
  },
  {
#if 0
    { Twcsxfrm, TST_LOC_eucJP },	     /* need more test data ! */
#else
    { Twcsxfrm, TST_LOC_ja_UTF8 },	     /* need more test data ! */
#endif
    {
      { /*inp*/ { { 0x3041,0x0000 }, { 0x3041,0x0000 }, 7, 7 },	 /* #01 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0x0042,0x0000 }, { 0x0061,0x0000 }, 7, 7 },	 /* #02 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0x0061,0x0000 }, { 0x0042,0x0000 }, 7, 7 },	 /* #03 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0x30A2,0x0000 }, { 0xFF71,0x0000 }, 7, 7 },	 /* #04 */
	/*exp*/ {   0,	       0,0,		     },
      },
      { /*inp*/ { { 0xFF71,0x0000 }, { 0x30A2,0x0000 }, 7, 7 },	 /* #05 */
	/*exp*/ {   0,	       0,0,		     },
      },
#ifdef NO_WAIVER
      /* <WAIVER> x 2 */
      { /*inp*/ { { 0x008E,0x0000 }, { 0x008F,0x0000 }, 7, 7 },	 /* #06 */
	/*exp*/ {   EINVAL,	       1,(size_t)-1,	     },
      },
#endif
      { .is_last = 1 }
    }
  },
  {
    { Twcsxfrm, TST_LOC_end }
  }
};