This source file includes following definitions.
- test_function
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 static void
20 test_function (int (*my_u16_mbtouc) (ucs4_t *, const uint16_t *, size_t))
21 {
22 ucs4_t uc;
23 int ret;
24
25
26 {
27 static const uint16_t input[] = { 0 };
28 uc = 0xBADFACE;
29 ret = my_u16_mbtouc (&uc, input, 1);
30 ASSERT (ret == 1);
31 ASSERT (uc == 0);
32 }
33
34
35 {
36 ucs4_t c;
37 uint16_t buf[1];
38
39 for (c = 0; c < 0x80; c++)
40 {
41 buf[0] = c;
42 uc = 0xBADFACE;
43 ret = my_u16_mbtouc (&uc, buf, 1);
44 ASSERT (ret == 1);
45 ASSERT (uc == c);
46 }
47 }
48
49
50 {
51 static const uint16_t input[] = { 0x20AC };
52 uc = 0xBADFACE;
53 ret = my_u16_mbtouc (&uc, input, 1);
54 ASSERT (ret == 1);
55 ASSERT (uc == 0x20AC);
56 }
57
58
59 {
60 static const uint16_t input[] = { 0xD835, 0xDD1F };
61 uc = 0xBADFACE;
62 ret = my_u16_mbtouc (&uc, input, 2);
63 ASSERT (ret == 2);
64 ASSERT (uc == 0x1D51F);
65 }
66
67
68 {
69 static const uint16_t input[] = { 0xD835 };
70 uc = 0xBADFACE;
71 ret = my_u16_mbtouc (&uc, input, 1);
72 ASSERT (ret == 1 || ret == 2);
73 ASSERT (uc == 0xFFFD);
74 }
75 {
76 static const uint16_t input[] = { 0xDD1F };
77 uc = 0xBADFACE;
78 ret = my_u16_mbtouc (&uc, input, 1);
79 ASSERT (ret == 1);
80 ASSERT (uc == 0xFFFD);
81 }
82 }