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