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 "uniwidth.h"
22
23 #include "macros.h"
24
25 int
26 main ()
27 {
28 static const uint32_t input[] =
29 {
30 #define INPUT1_OFFSET 0
31 #define INPUT1_LENGTH 12
32 'D', 'a', 'n', 'i', 'l', 'o', ' ', 0x0160, 'e', 'g', 'a', 'n',
33 #define INPUT2_OFFSET 12
34 #define INPUT2_LENGTH 13
35 'D', 'a', 'n', 'i', 'l', 'o', ' ', 'S', 0x030C, 'e', 'g', 'a', 'n',
36 #define INPUT3_OFFSET 25
37 #define INPUT3_LENGTH 12
38 0x0414, 0x0430, 0x043D, 0x0438, 0x043B, 0x043E, ' ',
39 0x0428, 0x0435, 0x0433, 0x0430, 0x043D,
40 #define INPUT4_OFFSET 37
41 #define INPUT4_LENGTH 3
42 0x5218, 0x519B, 0x6C11
43 };
44
45 {
46 ASSERT (u32_width (input + INPUT1_OFFSET, INPUT1_LENGTH, "UTF-8") == 12);
47 }
48
49 {
50 ASSERT (u32_width (input + INPUT2_OFFSET, INPUT2_LENGTH, "UTF-8") == 12);
51 }
52
53 {
54 ASSERT (u32_width (input + INPUT3_OFFSET, INPUT3_LENGTH, "UTF-8") == 12);
55 ASSERT (u32_width (input + INPUT3_OFFSET, INPUT3_LENGTH, "EUC-JP") == 23);
56 }
57
58 {
59 ASSERT (u32_width (input + INPUT4_OFFSET, INPUT4_LENGTH, "UTF-8") == 6);
60 ASSERT (u32_width (input + INPUT4_OFFSET, INPUT4_LENGTH, "GB2312") == 6);
61 }
62
63 return 0;
64 }