unic_ucd_common/
control.rs1char_property! {
17 pub struct Control(bool) {
22 abbr => "Control";
23 long => "Control";
24 human => "Control";
25
26 data_table_path => "../tables/control.rsv";
27 }
28
29 pub fn is_control(char) -> bool;
31}
32
33#[cfg(test)]
34mod tests {
35 #[test]
36 fn test_values() {
37 use super::is_control;
38
39 assert_eq!(is_control('\u{0000}'), true);
41 assert_eq!(is_control('\u{0001}'), true);
42 assert_eq!(is_control('\u{0002}'), true);
43
44 assert_eq!(is_control('\u{0010}'), true);
45 assert_eq!(is_control('\u{0011}'), true);
46 assert_eq!(is_control('\u{0012}'), true);
47
48 assert_eq!(is_control('\u{0020}'), false);
49 assert_eq!(is_control('\u{0021}'), false);
50 assert_eq!(is_control('\u{0022}'), false);
51
52 assert_eq!(is_control('\u{0030}'), false);
53 assert_eq!(is_control('\u{0031}'), false);
54 assert_eq!(is_control('\u{0032}'), false);
55
56 assert_eq!(is_control('\u{0040}'), false);
57 assert_eq!(is_control('\u{0041}'), false);
58 assert_eq!(is_control('\u{0042}'), false);
59
60 assert_eq!(is_control('\u{0060}'), false);
61 assert_eq!(is_control('\u{0061}'), false);
62 assert_eq!(is_control('\u{0062}'), false);
63
64 assert_eq!(is_control('\u{007e}'), false);
65 assert_eq!(is_control('\u{007f}'), true);
66
67 assert_eq!(is_control('\u{061b}'), false);
69 assert_eq!(is_control('\u{061c}'), false);
70 assert_eq!(is_control('\u{061d}'), false);
71
72 assert_eq!(is_control('\u{200d}'), false);
73 assert_eq!(is_control('\u{200e}'), false);
74 assert_eq!(is_control('\u{200f}'), false);
75 assert_eq!(is_control('\u{2010}'), false);
76
77 assert_eq!(is_control('\u{2029}'), false);
78 assert_eq!(is_control('\u{202a}'), false);
79 assert_eq!(is_control('\u{202e}'), false);
80 assert_eq!(is_control('\u{202f}'), false);
81
82 assert_eq!(is_control('\u{10000}'), false);
84 assert_eq!(is_control('\u{10001}'), false);
85
86 assert_eq!(is_control('\u{20000}'), false);
87 assert_eq!(is_control('\u{30000}'), false);
88 assert_eq!(is_control('\u{40000}'), false);
89 assert_eq!(is_control('\u{50000}'), false);
90 assert_eq!(is_control('\u{60000}'), false);
91 assert_eq!(is_control('\u{70000}'), false);
92 assert_eq!(is_control('\u{80000}'), false);
93 assert_eq!(is_control('\u{90000}'), false);
94 assert_eq!(is_control('\u{a0000}'), false);
95 assert_eq!(is_control('\u{b0000}'), false);
96 assert_eq!(is_control('\u{c0000}'), false);
97 assert_eq!(is_control('\u{d0000}'), false);
98 assert_eq!(is_control('\u{e0000}'), false);
99
100 assert_eq!(is_control('\u{efffe}'), false);
101 assert_eq!(is_control('\u{effff}'), false);
102
103 assert_eq!(is_control('\u{f0000}'), false);
105 assert_eq!(is_control('\u{f0001}'), false);
106 assert_eq!(is_control('\u{ffffe}'), false);
107 assert_eq!(is_control('\u{fffff}'), false);
108 assert_eq!(is_control('\u{100000}'), false);
109 assert_eq!(is_control('\u{100001}'), false);
110 assert_eq!(is_control('\u{10fffe}'), false);
111 assert_eq!(is_control('\u{10ffff}'), false);
112 }
113}