Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 816 lines (792 sloc) 57.898 kb
ba2f298 @mauke some basic functionality tests
authored
1 #include <unibilium.h>
2 #include <stdio.h>
3 #include <errno.h>
4 #include <string.h>
5 #include <stdlib.h>
6
7 static unsigned test_counter;
8
9 static void plan(unsigned n) {
10 printf("1..%u\n", n);
11 }
12
13 static void ok(int b, const char *s) {
14 printf("%sok %u - %s\n", b ? "" : "not ", test_counter++, s);
15 }
16
17 static void bail_out(const char *s) {
18 printf("Bail out! %s\n", s);
19 exit(EXIT_FAILURE);
20 }
21
22 static void diag(const char *s) {
23 printf("# %s\n", s);
24 }
25
26 const char terminfo[] = {
27 26, 1, 42, 0, 43, 0, 15, 0, 105, 1, 106, 2, 115, 99, 114, 101, 101, 110, 124, 86,
28 84, 32, 49, 48, 48, 47, 65, 78, 83, 73, 32, 88, 51, 46, 54, 52, 32, 118, 105, 114,
29 116, 117, 97, 108, 32, 116, 101, 114, 109, 105, 110, 97, 108, 0, 0, 1, 0, 0, 1, 0,
30 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 80, 0,
32 8, 0, 24, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
33 -1, -1, -1, -1, 8, 0, 64, 0, 0, 0, 4, 0, 6, 0, 8, 0, 25, 0, 30, 0,
34 37, 0, 41, 0, -1, -1, -1, -1, 45, 0, 62, 0, 64, 0, 68, 0, 75, 0, -1, -1,
35 77, 0, 89, 0, -1, -1, 93, 0, 96, 0, 102, 0, 106, 0, -1, -1, -1, -1, 110, 0,
36 112, 0, 117, 0, 122, 0, -1, -1, -1, -1, -125, 0, -1, -1, -1, -1, -120, 0, -115, 0,
37 -110, 0, -1, -1, -105, 0, -103, 0, -98, 0, -1, -1, -89, 0, -84, 0, -78, 0, -72, 0,
38 -1, -1, -1, -1, -1, -1, -69, 0, -1, -1, -1, -1, -1, -1, -65, 0, -1, -1, -61, 0,
39 -1, -1, -1, -1, -1, -1, -59, 0, -1, -1, -54, 0, -1, -1, -1, -1, -1, -1, -1, -1,
40 -50, 0, -46, 0, -40, 0, -36, 0, -32, 0, -28, 0, -22, 0, -16, 0, -10, 0, -4, 0,
41 2, 1, 7, 1, -1, -1, 12, 1, -1, -1, 16, 1, 21, 1, 26, 1, -1, -1, -1, -1,
42 -1, -1, 30, 1, 34, 1, 42, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
43 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, 1, -1, -1, 53, 1,
44 62, 1, 71, 1, 80, 1, -1, -1, 89, 1, 98, 1, 107, 1, -1, -1, 116, 1, -1, -1,
45 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, 1, -1, -1, -1, -1,
46 -114, 1, -1, -1, -111, 1, -108, 1, -106, 1, -103, 1, -30, 1, -1, -1, -27, 1, -1, -1,
47 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
48 -25, 1, -1, -1, 40, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 2,
49 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, 2, -1, -1,
50 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
51 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
52 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
53 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
54 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
55 56, 2, 62, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
56 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
57 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
58 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
59 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
60 -1, -1, -1, -1, -1, -1, 68, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
61 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
62 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
63 -1, -1, 73, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
64 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
65 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
66 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
67 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
68 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, 2,
69 -1, -1, -1, -1, -1, -1, 86, 2, 96, 2, 27, 91, 90, 0, 7, 0, 13, 0, 27, 91,
70 37, 105, 37, 112, 49, 37, 100, 59, 37, 112, 50, 37, 100, 114, 0, 27, 91, 51, 103, 0,
71 27, 91, 72, 27, 91, 74, 0, 27, 91, 75, 0, 27, 91, 74, 0, 27, 91, 37, 105, 37,
72 112, 49, 37, 100, 59, 37, 112, 50, 37, 100, 72, 0, 10, 0, 27, 91, 72, 0, 27, 91,
73 63, 50, 53, 108, 0, 8, 0, 27, 91, 51, 52, 104, 27, 91, 63, 50, 53, 104, 0, 27,
74 91, 67, 0, 27, 77, 0, 27, 91, 51, 52, 108, 0, 27, 91, 80, 0, 27, 91, 77, 0,
75 14, 0, 27, 91, 53, 109, 0, 27, 91, 49, 109, 0, 27, 91, 63, 49, 48, 52, 57, 104,
76 0, 27, 91, 52, 104, 0, 27, 91, 55, 109, 0, 27, 91, 51, 109, 0, 27, 91, 52, 109,
77 0, 15, 0, 27, 91, 109, 15, 0, 27, 91, 63, 49, 48, 52, 57, 108, 0, 27, 91, 52,
78 108, 0, 27, 91, 50, 51, 109, 0, 27, 91, 50, 52, 109, 0, 27, 103, 0, 27, 41, 48,
79 0, 27, 91, 76, 0, 8, 0, 27, 91, 51, 126, 0, 27, 79, 66, 0, 27, 79, 80, 0,
80 27, 91, 50, 49, 126, 0, 27, 79, 81, 0, 27, 79, 82, 0, 27, 79, 83, 0, 27, 91,
81 49, 53, 126, 0, 27, 91, 49, 55, 126, 0, 27, 91, 49, 56, 126, 0, 27, 91, 49, 57,
82 126, 0, 27, 91, 50, 48, 126, 0, 27, 91, 49, 126, 0, 27, 91, 50, 126, 0, 27, 79,
83 68, 0, 27, 91, 54, 126, 0, 27, 91, 53, 126, 0, 27, 79, 67, 0, 27, 79, 65, 0,
84 27, 91, 63, 49, 108, 27, 62, 0, 27, 91, 63, 49, 104, 27, 61, 0, 27, 69, 0, 27,
85 91, 37, 112, 49, 37, 100, 80, 0, 27, 91, 37, 112, 49, 37, 100, 77, 0, 27, 91, 37,
86 112, 49, 37, 100, 66, 0, 27, 91, 37, 112, 49, 37, 100, 64, 0, 27, 91, 37, 112, 49,
87 37, 100, 76, 0, 27, 91, 37, 112, 49, 37, 100, 68, 0, 27, 91, 37, 112, 49, 37, 100,
88 67, 0, 27, 91, 37, 112, 49, 37, 100, 65, 0, 27, 99, 27, 91, 63, 49, 48, 48, 48,
89 108, 27, 91, 63, 50, 53, 104, 0, 27, 56, 0, 27, 55, 0, 10, 0, 27, 77, 0, 27,
90 91, 48, 37, 63, 37, 112, 54, 37, 116, 59, 49, 37, 59, 37, 63, 37, 112, 49, 37, 116,
91 59, 51, 37, 59, 37, 63, 37, 112, 50, 37, 116, 59, 52, 37, 59, 37, 63, 37, 112, 51,
92 37, 116, 59, 55, 37, 59, 37, 63, 37, 112, 52, 37, 116, 59, 53, 37, 59, 109, 37, 63,
93 37, 112, 57, 37, 116, 14, 37, 101, 15, 37, 59, 0, 27, 72, 0, 9, 0, 43, 43, 44,
94 44, 45, 45, 46, 46, 48, 48, 96, 96, 97, 97, 102, 102, 103, 103, 104, 104, 105, 105, 106,
95 106, 107, 107, 108, 108, 109, 109, 110, 110, 111, 111, 112, 112, 113, 113, 114, 114, 115, 115, 116,
96 116, 117, 117, 118, 118, 119, 119, 120, 120, 121, 121, 122, 122, 123, 123, 124, 124, 125, 125, 126,
97 126, 0, 27, 91, 90, 0, 27, 40, 66, 27, 41, 48, 0, 27, 91, 52, 126, 0, 27, 91,
98 50, 51, 126, 0, 27, 91, 50, 52, 126, 0, 27, 91, 49, 75, 0, 27, 91, 51, 57, 59,
99 52, 57, 109, 0, 27, 91, 77, 0, 27, 91, 51, 37, 112, 49, 37, 100, 109, 0, 27, 91,
100 52, 37, 112, 49, 37, 100, 109, 0, 3, 0, 1, 0, 6, 0, 16, 0, 46, 0, 1, 1,
101 0, 0, 1, 0, 0, 0, 4, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 3, 0,
102 6, 0, 9, 0, 12, 0, 15, 0, 18, 0, 22, 0, 26, 0, 30, 0, 27, 40, 66, 0,
103 27, 40, 37, 112, 49, 37, 99, 0, 65, 88, 0, 71, 48, 0, 88, 84, 0, 85, 56, 0,
104 69, 48, 0, 83, 48, 0, 107, 97, 50, 0, 107, 98, 49, 0, 107, 98, 51, 0, 107, 99,
105 50, 0
106 };
107
108 static void setup(void);
109
110 int main(void) {
111 setup();
112
113 int e;
114 unibi_term *dt = unibi_dummy();
115 e = errno;
116 ok(dt != NULL, "dummy constructed");
117 if (!dt) {
118 bail_out(strerror(e));
119 }
120 unibi_term *ut = unibi_from_mem(terminfo, sizeof terminfo);
121 e = errno;
122 ok(ut != NULL, "terminfo loaded");
123 if (!ut) {
124 bail_out(strerror(e));
125 }
126
127 diag("terminal name");
128 ok(strcmp(unibi_get_name(ut), "VT 100/ANSI X3.64 virtual terminal") == 0, "terminal name = \"VT 100/ANSI X3.64 virtual terminal\"");
129 unibi_set_name(dt, "VT 100/ANSI X3.64 virtual terminal");
130 {
c881fae @mauke fix broken tests
authored
131 static const char *def_aliases[] = {"screen", NULL};
ba2f298 @mauke some basic functionality tests
authored
132 const char **aliases = unibi_get_aliases(ut);
133 ok(strcmp(aliases[0], def_aliases[0]) == 0, "terminal alias #0 = \"screen\"");
134 ok(aliases[1] == NULL, "terminal alias #1 = null");
135 unibi_set_aliases(dt, def_aliases);
136 }
137
138 diag("boolean capabilities");
139 ok(unibi_get_bool(ut, unibi_auto_left_margin) == 0, "auto_left_margin = false");
140 ok(unibi_get_bool(ut, unibi_auto_right_margin) == 1, "auto_right_margin = true");
141 unibi_set_bool(dt, unibi_auto_right_margin, 1);
142 ok(unibi_get_bool(ut, unibi_no_esc_ctlc) == 0, "no_esc_ctlc = false");
143 ok(unibi_get_bool(ut, unibi_ceol_standout_glitch) == 0, "ceol_standout_glitch = false");
144 ok(unibi_get_bool(ut, unibi_eat_newline_glitch) == 1, "eat_newline_glitch = true");
145 unibi_set_bool(dt, unibi_eat_newline_glitch, 1);
146 ok(unibi_get_bool(ut, unibi_erase_overstrike) == 0, "erase_overstrike = false");
147 ok(unibi_get_bool(ut, unibi_generic_type) == 0, "generic_type = false");
148 ok(unibi_get_bool(ut, unibi_hard_copy) == 0, "hard_copy = false");
149 ok(unibi_get_bool(ut, unibi_has_meta_key) == 1, "has_meta_key = true");
150 unibi_set_bool(dt, unibi_has_meta_key, 1);
151 ok(unibi_get_bool(ut, unibi_has_status_line) == 0, "has_status_line = false");
152 ok(unibi_get_bool(ut, unibi_insert_null_glitch) == 0, "insert_null_glitch = false");
153 ok(unibi_get_bool(ut, unibi_memory_above) == 0, "memory_above = false");
154 ok(unibi_get_bool(ut, unibi_memory_below) == 0, "memory_below = false");
155 ok(unibi_get_bool(ut, unibi_move_insert_mode) == 1, "move_insert_mode = true");
156 unibi_set_bool(dt, unibi_move_insert_mode, 1);
157 ok(unibi_get_bool(ut, unibi_move_standout_mode) == 1, "move_standout_mode = true");
158 unibi_set_bool(dt, unibi_move_standout_mode, 1);
159 ok(unibi_get_bool(ut, unibi_over_strike) == 0, "over_strike = false");
160 ok(unibi_get_bool(ut, unibi_status_line_esc_ok) == 0, "status_line_esc_ok = false");
161 ok(unibi_get_bool(ut, unibi_dest_tabs_magic_smso) == 0, "dest_tabs_magic_smso = false");
162 ok(unibi_get_bool(ut, unibi_tilde_glitch) == 0, "tilde_glitch = false");
163 ok(unibi_get_bool(ut, unibi_transparent_underline) == 0, "transparent_underline = false");
164 ok(unibi_get_bool(ut, unibi_xon_xoff) == 0, "xon_xoff = false");
165 ok(unibi_get_bool(ut, unibi_needs_xon_xoff) == 0, "needs_xon_xoff = false");
166 ok(unibi_get_bool(ut, unibi_prtr_silent) == 0, "prtr_silent = false");
167 ok(unibi_get_bool(ut, unibi_hard_cursor) == 0, "hard_cursor = false");
168 ok(unibi_get_bool(ut, unibi_non_rev_rmcup) == 0, "non_rev_rmcup = false");
169 ok(unibi_get_bool(ut, unibi_no_pad_char) == 0, "no_pad_char = false");
170 ok(unibi_get_bool(ut, unibi_non_dest_scroll_region) == 0, "non_dest_scroll_region = false");
171 ok(unibi_get_bool(ut, unibi_can_change) == 0, "can_change = false");
172 ok(unibi_get_bool(ut, unibi_back_color_erase) == 0, "back_color_erase = false");
173 ok(unibi_get_bool(ut, unibi_hue_lightness_saturation) == 0, "hue_lightness_saturation = false");
174 ok(unibi_get_bool(ut, unibi_col_addr_glitch) == 0, "col_addr_glitch = false");
175 ok(unibi_get_bool(ut, unibi_cr_cancels_micro_mode) == 0, "cr_cancels_micro_mode = false");
176 ok(unibi_get_bool(ut, unibi_has_print_wheel) == 0, "has_print_wheel = false");
177 ok(unibi_get_bool(ut, unibi_row_addr_glitch) == 0, "row_addr_glitch = false");
178 ok(unibi_get_bool(ut, unibi_semi_auto_right_margin) == 0, "semi_auto_right_margin = false");
179 ok(unibi_get_bool(ut, unibi_cpi_changes_res) == 0, "cpi_changes_res = false");
180 ok(unibi_get_bool(ut, unibi_lpi_changes_res) == 0, "lpi_changes_res = false");
181 ok(unibi_get_bool(ut, unibi_backspaces_with_bs) == 1, "backspaces_with_bs = true");
182 unibi_set_bool(dt, unibi_backspaces_with_bs, 1);
183 ok(unibi_get_bool(ut, unibi_crt_no_scrolling) == 0, "crt_no_scrolling = false");
184 ok(unibi_get_bool(ut, unibi_no_correctly_working_cr) == 0, "no_correctly_working_cr = false");
185 ok(unibi_get_bool(ut, unibi_gnu_has_meta_key) == 0, "gnu_has_meta_key = false");
186 ok(unibi_get_bool(ut, unibi_linefeed_is_newline) == 0, "linefeed_is_newline = false");
187 ok(unibi_get_bool(ut, unibi_has_hardware_tabs) == 1, "has_hardware_tabs = true");
188 unibi_set_bool(dt, unibi_has_hardware_tabs, 1);
189 ok(unibi_get_bool(ut, unibi_return_does_clr_eol) == 0, "return_does_clr_eol = false");
190
191 diag("numeric capabilities");
192 ok(unibi_get_num(ut, unibi_columns) == 80, "columns = 80");
193 unibi_set_num(dt, unibi_columns, 80);
194 ok(unibi_get_num(ut, unibi_init_tabs) == 8, "init_tabs = 8");
195 unibi_set_num(dt, unibi_init_tabs, 8);
196 ok(unibi_get_num(ut, unibi_lines) == 24, "lines = 24");
197 unibi_set_num(dt, unibi_lines, 24);
198 ok(unibi_get_num(ut, unibi_lines_of_memory) == -1, "lines_of_memory = -1");
199 ok(unibi_get_num(ut, unibi_magic_cookie_glitch) == -1, "magic_cookie_glitch = -1");
200 ok(unibi_get_num(ut, unibi_padding_baud_rate) == -1, "padding_baud_rate = -1");
201 ok(unibi_get_num(ut, unibi_virtual_terminal) == -1, "virtual_terminal = -1");
202 ok(unibi_get_num(ut, unibi_width_status_line) == -1, "width_status_line = -1");
203 ok(unibi_get_num(ut, unibi_num_labels) == -1, "num_labels = -1");
204 ok(unibi_get_num(ut, unibi_label_height) == -1, "label_height = -1");
205 ok(unibi_get_num(ut, unibi_label_width) == -1, "label_width = -1");
206 ok(unibi_get_num(ut, unibi_max_attributes) == -1, "max_attributes = -1");
207 ok(unibi_get_num(ut, unibi_maximum_windows) == -1, "maximum_windows = -1");
208 ok(unibi_get_num(ut, unibi_max_colors) == 8, "max_colors = 8");
209 unibi_set_num(dt, unibi_max_colors, 8);
210 ok(unibi_get_num(ut, unibi_max_pairs) == 64, "max_pairs = 64");
211 unibi_set_num(dt, unibi_max_pairs, 64);
212 ok(unibi_get_num(ut, unibi_no_color_video) == -1, "no_color_video = -1");
213 ok(unibi_get_num(ut, unibi_buffer_capacity) == -1, "buffer_capacity = -1");
214 ok(unibi_get_num(ut, unibi_dot_vert_spacing) == -1, "dot_vert_spacing = -1");
215 ok(unibi_get_num(ut, unibi_dot_horz_spacing) == -1, "dot_horz_spacing = -1");
216 ok(unibi_get_num(ut, unibi_max_micro_address) == -1, "max_micro_address = -1");
217 ok(unibi_get_num(ut, unibi_max_micro_jump) == -1, "max_micro_jump = -1");
218 ok(unibi_get_num(ut, unibi_micro_col_size) == -1, "micro_col_size = -1");
219 ok(unibi_get_num(ut, unibi_micro_line_size) == -1, "micro_line_size = -1");
220 ok(unibi_get_num(ut, unibi_number_of_pins) == -1, "number_of_pins = -1");
221 ok(unibi_get_num(ut, unibi_output_res_char) == -1, "output_res_char = -1");
222 ok(unibi_get_num(ut, unibi_output_res_line) == -1, "output_res_line = -1");
223 ok(unibi_get_num(ut, unibi_output_res_horz_inch) == -1, "output_res_horz_inch = -1");
224 ok(unibi_get_num(ut, unibi_output_res_vert_inch) == -1, "output_res_vert_inch = -1");
225 ok(unibi_get_num(ut, unibi_print_rate) == -1, "print_rate = -1");
226 ok(unibi_get_num(ut, unibi_wide_char_size) == -1, "wide_char_size = -1");
227 ok(unibi_get_num(ut, unibi_buttons) == -1, "buttons = -1");
228 ok(unibi_get_num(ut, unibi_bit_image_entwining) == -1, "bit_image_entwining = -1");
229 ok(unibi_get_num(ut, unibi_bit_image_type) == -1, "bit_image_type = -1");
230 ok(unibi_get_num(ut, unibi_magic_cookie_glitch_ul) == -1, "magic_cookie_glitch_ul = -1");
231 ok(unibi_get_num(ut, unibi_carriage_return_delay) == -1, "carriage_return_delay = -1");
232 ok(unibi_get_num(ut, unibi_new_line_delay) == -1, "new_line_delay = -1");
233 ok(unibi_get_num(ut, unibi_backspace_delay) == -1, "backspace_delay = -1");
234 ok(unibi_get_num(ut, unibi_horizontal_tab_delay) == -1, "horizontal_tab_delay = -1");
235 ok(unibi_get_num(ut, unibi_number_of_function_keys) == -1, "number_of_function_keys = -1");
236
237 diag("string capabilities");
238 ok(strcmp(unibi_get_str(ut, unibi_back_tab), "\033[Z") == 0, "back_tab = \"\\033[Z\"");
239 unibi_set_str(dt, unibi_back_tab, "\033[Z");
240 ok(strcmp(unibi_get_str(ut, unibi_bell), "\007") == 0, "bell = \"\\007\"");
241 unibi_set_str(dt, unibi_bell, "\007");
242 ok(strcmp(unibi_get_str(ut, unibi_carriage_return), "\015") == 0, "carriage_return = \"\\015\"");
243 unibi_set_str(dt, unibi_carriage_return, "\015");
244 ok(strcmp(unibi_get_str(ut, unibi_change_scroll_region), "\033[%i%p1%d;%p2%dr") == 0, "change_scroll_region = \"\\033[%i%p1%d;%p2%dr\"");
245 unibi_set_str(dt, unibi_change_scroll_region, "\033[%i%p1%d;%p2%dr");
246 ok(strcmp(unibi_get_str(ut, unibi_clear_all_tabs), "\033[3g") == 0, "clear_all_tabs = \"\\033[3g\"");
247 unibi_set_str(dt, unibi_clear_all_tabs, "\033[3g");
248 ok(strcmp(unibi_get_str(ut, unibi_clear_screen), "\033[H\033[J") == 0, "clear_screen = \"\\033[H\\033[J\"");
249 unibi_set_str(dt, unibi_clear_screen, "\033[H\033[J");
250 ok(strcmp(unibi_get_str(ut, unibi_clr_eol), "\033[K") == 0, "clr_eol = \"\\033[K\"");
251 unibi_set_str(dt, unibi_clr_eol, "\033[K");
252 ok(strcmp(unibi_get_str(ut, unibi_clr_eos), "\033[J") == 0, "clr_eos = \"\\033[J\"");
253 unibi_set_str(dt, unibi_clr_eos, "\033[J");
254 ok(unibi_get_str(ut, unibi_column_address) == NULL, "column_address = null");
255 ok(unibi_get_str(ut, unibi_command_character) == NULL, "command_character = null");
256 ok(strcmp(unibi_get_str(ut, unibi_cursor_address), "\033[%i%p1%d;%p2%dH") == 0, "cursor_address = \"\\033[%i%p1%d;%p2%dH\"");
257 unibi_set_str(dt, unibi_cursor_address, "\033[%i%p1%d;%p2%dH");
258 ok(strcmp(unibi_get_str(ut, unibi_cursor_down), "\012") == 0, "cursor_down = \"\\012\"");
259 unibi_set_str(dt, unibi_cursor_down, "\012");
260 ok(strcmp(unibi_get_str(ut, unibi_cursor_home), "\033[H") == 0, "cursor_home = \"\\033[H\"");
261 unibi_set_str(dt, unibi_cursor_home, "\033[H");
262 ok(strcmp(unibi_get_str(ut, unibi_cursor_invisible), "\033[?25l") == 0, "cursor_invisible = \"\\033[?25l\"");
263 unibi_set_str(dt, unibi_cursor_invisible, "\033[?25l");
264 ok(strcmp(unibi_get_str(ut, unibi_cursor_left), "\010") == 0, "cursor_left = \"\\010\"");
265 unibi_set_str(dt, unibi_cursor_left, "\010");
266 ok(unibi_get_str(ut, unibi_cursor_mem_address) == NULL, "cursor_mem_address = null");
267 ok(strcmp(unibi_get_str(ut, unibi_cursor_normal), "\033[34h\033[?25h") == 0, "cursor_normal = \"\\033[34h\\033[?25h\"");
268 unibi_set_str(dt, unibi_cursor_normal, "\033[34h\033[?25h");
269 ok(strcmp(unibi_get_str(ut, unibi_cursor_right), "\033[C") == 0, "cursor_right = \"\\033[C\"");
270 unibi_set_str(dt, unibi_cursor_right, "\033[C");
271 ok(unibi_get_str(ut, unibi_cursor_to_ll) == NULL, "cursor_to_ll = null");
272 ok(strcmp(unibi_get_str(ut, unibi_cursor_up), "\033M") == 0, "cursor_up = \"\\033M\"");
273 unibi_set_str(dt, unibi_cursor_up, "\033M");
274 ok(strcmp(unibi_get_str(ut, unibi_cursor_visible), "\033[34l") == 0, "cursor_visible = \"\\033[34l\"");
275 unibi_set_str(dt, unibi_cursor_visible, "\033[34l");
276 ok(strcmp(unibi_get_str(ut, unibi_delete_character), "\033[P") == 0, "delete_character = \"\\033[P\"");
277 unibi_set_str(dt, unibi_delete_character, "\033[P");
278 ok(strcmp(unibi_get_str(ut, unibi_delete_line), "\033[M") == 0, "delete_line = \"\\033[M\"");
279 unibi_set_str(dt, unibi_delete_line, "\033[M");
280 ok(unibi_get_str(ut, unibi_dis_status_line) == NULL, "dis_status_line = null");
281 ok(unibi_get_str(ut, unibi_down_half_line) == NULL, "down_half_line = null");
282 ok(strcmp(unibi_get_str(ut, unibi_enter_alt_charset_mode), "\016") == 0, "enter_alt_charset_mode = \"\\016\"");
283 unibi_set_str(dt, unibi_enter_alt_charset_mode, "\016");
284 ok(strcmp(unibi_get_str(ut, unibi_enter_blink_mode), "\033[5m") == 0, "enter_blink_mode = \"\\033[5m\"");
285 unibi_set_str(dt, unibi_enter_blink_mode, "\033[5m");
286 ok(strcmp(unibi_get_str(ut, unibi_enter_bold_mode), "\033[1m") == 0, "enter_bold_mode = \"\\033[1m\"");
287 unibi_set_str(dt, unibi_enter_bold_mode, "\033[1m");
288 ok(strcmp(unibi_get_str(ut, unibi_enter_ca_mode), "\033[?1049h") == 0, "enter_ca_mode = \"\\033[?1049h\"");
289 unibi_set_str(dt, unibi_enter_ca_mode, "\033[?1049h");
290 ok(unibi_get_str(ut, unibi_enter_delete_mode) == NULL, "enter_delete_mode = null");
291 ok(unibi_get_str(ut, unibi_enter_dim_mode) == NULL, "enter_dim_mode = null");
292 ok(strcmp(unibi_get_str(ut, unibi_enter_insert_mode), "\033[4h") == 0, "enter_insert_mode = \"\\033[4h\"");
293 unibi_set_str(dt, unibi_enter_insert_mode, "\033[4h");
294 ok(unibi_get_str(ut, unibi_enter_secure_mode) == NULL, "enter_secure_mode = null");
295 ok(unibi_get_str(ut, unibi_enter_protected_mode) == NULL, "enter_protected_mode = null");
296 ok(strcmp(unibi_get_str(ut, unibi_enter_reverse_mode), "\033[7m") == 0, "enter_reverse_mode = \"\\033[7m\"");
297 unibi_set_str(dt, unibi_enter_reverse_mode, "\033[7m");
298 ok(strcmp(unibi_get_str(ut, unibi_enter_standout_mode), "\033[3m") == 0, "enter_standout_mode = \"\\033[3m\"");
299 unibi_set_str(dt, unibi_enter_standout_mode, "\033[3m");
300 ok(strcmp(unibi_get_str(ut, unibi_enter_underline_mode), "\033[4m") == 0, "enter_underline_mode = \"\\033[4m\"");
301 unibi_set_str(dt, unibi_enter_underline_mode, "\033[4m");
302 ok(unibi_get_str(ut, unibi_erase_chars) == NULL, "erase_chars = null");
303 ok(strcmp(unibi_get_str(ut, unibi_exit_alt_charset_mode), "\017") == 0, "exit_alt_charset_mode = \"\\017\"");
304 unibi_set_str(dt, unibi_exit_alt_charset_mode, "\017");
305 ok(strcmp(unibi_get_str(ut, unibi_exit_attribute_mode), "\033[m\017") == 0, "exit_attribute_mode = \"\\033[m\\017\"");
306 unibi_set_str(dt, unibi_exit_attribute_mode, "\033[m\017");
307 ok(strcmp(unibi_get_str(ut, unibi_exit_ca_mode), "\033[?1049l") == 0, "exit_ca_mode = \"\\033[?1049l\"");
308 unibi_set_str(dt, unibi_exit_ca_mode, "\033[?1049l");
309 ok(unibi_get_str(ut, unibi_exit_delete_mode) == NULL, "exit_delete_mode = null");
310 ok(strcmp(unibi_get_str(ut, unibi_exit_insert_mode), "\033[4l") == 0, "exit_insert_mode = \"\\033[4l\"");
311 unibi_set_str(dt, unibi_exit_insert_mode, "\033[4l");
312 ok(strcmp(unibi_get_str(ut, unibi_exit_standout_mode), "\033[23m") == 0, "exit_standout_mode = \"\\033[23m\"");
313 unibi_set_str(dt, unibi_exit_standout_mode, "\033[23m");
314 ok(strcmp(unibi_get_str(ut, unibi_exit_underline_mode), "\033[24m") == 0, "exit_underline_mode = \"\\033[24m\"");
315 unibi_set_str(dt, unibi_exit_underline_mode, "\033[24m");
316 ok(strcmp(unibi_get_str(ut, unibi_flash_screen), "\033g") == 0, "flash_screen = \"\\033g\"");
317 unibi_set_str(dt, unibi_flash_screen, "\033g");
318 ok(unibi_get_str(ut, unibi_form_feed) == NULL, "form_feed = null");
319 ok(unibi_get_str(ut, unibi_from_status_line) == NULL, "from_status_line = null");
320 ok(unibi_get_str(ut, unibi_init_1string) == NULL, "init_1string = null");
321 ok(strcmp(unibi_get_str(ut, unibi_init_2string), "\033)0") == 0, "init_2string = \"\\033)0\"");
322 unibi_set_str(dt, unibi_init_2string, "\033)0");
323 ok(unibi_get_str(ut, unibi_init_3string) == NULL, "init_3string = null");
324 ok(unibi_get_str(ut, unibi_init_file) == NULL, "init_file = null");
325 ok(unibi_get_str(ut, unibi_insert_character) == NULL, "insert_character = null");
326 ok(strcmp(unibi_get_str(ut, unibi_insert_line), "\033[L") == 0, "insert_line = \"\\033[L\"");
327 unibi_set_str(dt, unibi_insert_line, "\033[L");
328 ok(unibi_get_str(ut, unibi_insert_padding) == NULL, "insert_padding = null");
329 ok(strcmp(unibi_get_str(ut, unibi_key_backspace), "\010") == 0, "key_backspace = \"\\010\"");
330 unibi_set_str(dt, unibi_key_backspace, "\010");
331 ok(unibi_get_str(ut, unibi_key_catab) == NULL, "key_catab = null");
332 ok(unibi_get_str(ut, unibi_key_clear) == NULL, "key_clear = null");
333 ok(unibi_get_str(ut, unibi_key_ctab) == NULL, "key_ctab = null");
334 ok(strcmp(unibi_get_str(ut, unibi_key_dc), "\033[3~") == 0, "key_dc = \"\\033[3~\"");
335 unibi_set_str(dt, unibi_key_dc, "\033[3~");
336 ok(unibi_get_str(ut, unibi_key_dl) == NULL, "key_dl = null");
337 ok(strcmp(unibi_get_str(ut, unibi_key_down), "\033OB") == 0, "key_down = \"\\033OB\"");
338 unibi_set_str(dt, unibi_key_down, "\033OB");
339 ok(unibi_get_str(ut, unibi_key_eic) == NULL, "key_eic = null");
340 ok(unibi_get_str(ut, unibi_key_eol) == NULL, "key_eol = null");
341 ok(unibi_get_str(ut, unibi_key_eos) == NULL, "key_eos = null");
342 ok(unibi_get_str(ut, unibi_key_f0) == NULL, "key_f0 = null");
343 ok(strcmp(unibi_get_str(ut, unibi_key_f1), "\033OP") == 0, "key_f1 = \"\\033OP\"");
344 unibi_set_str(dt, unibi_key_f1, "\033OP");
345 ok(strcmp(unibi_get_str(ut, unibi_key_f10), "\033[21~") == 0, "key_f10 = \"\\033[21~\"");
346 unibi_set_str(dt, unibi_key_f10, "\033[21~");
347 ok(strcmp(unibi_get_str(ut, unibi_key_f2), "\033OQ") == 0, "key_f2 = \"\\033OQ\"");
348 unibi_set_str(dt, unibi_key_f2, "\033OQ");
349 ok(strcmp(unibi_get_str(ut, unibi_key_f3), "\033OR") == 0, "key_f3 = \"\\033OR\"");
350 unibi_set_str(dt, unibi_key_f3, "\033OR");
351 ok(strcmp(unibi_get_str(ut, unibi_key_f4), "\033OS") == 0, "key_f4 = \"\\033OS\"");
352 unibi_set_str(dt, unibi_key_f4, "\033OS");
353 ok(strcmp(unibi_get_str(ut, unibi_key_f5), "\033[15~") == 0, "key_f5 = \"\\033[15~\"");
354 unibi_set_str(dt, unibi_key_f5, "\033[15~");
355 ok(strcmp(unibi_get_str(ut, unibi_key_f6), "\033[17~") == 0, "key_f6 = \"\\033[17~\"");
356 unibi_set_str(dt, unibi_key_f6, "\033[17~");
357 ok(strcmp(unibi_get_str(ut, unibi_key_f7), "\033[18~") == 0, "key_f7 = \"\\033[18~\"");
358 unibi_set_str(dt, unibi_key_f7, "\033[18~");
359 ok(strcmp(unibi_get_str(ut, unibi_key_f8), "\033[19~") == 0, "key_f8 = \"\\033[19~\"");
360 unibi_set_str(dt, unibi_key_f8, "\033[19~");
361 ok(strcmp(unibi_get_str(ut, unibi_key_f9), "\033[20~") == 0, "key_f9 = \"\\033[20~\"");
362 unibi_set_str(dt, unibi_key_f9, "\033[20~");
363 ok(strcmp(unibi_get_str(ut, unibi_key_home), "\033[1~") == 0, "key_home = \"\\033[1~\"");
364 unibi_set_str(dt, unibi_key_home, "\033[1~");
365 ok(strcmp(unibi_get_str(ut, unibi_key_ic), "\033[2~") == 0, "key_ic = \"\\033[2~\"");
366 unibi_set_str(dt, unibi_key_ic, "\033[2~");
367 ok(unibi_get_str(ut, unibi_key_il) == NULL, "key_il = null");
368 ok(strcmp(unibi_get_str(ut, unibi_key_left), "\033OD") == 0, "key_left = \"\\033OD\"");
369 unibi_set_str(dt, unibi_key_left, "\033OD");
370 ok(unibi_get_str(ut, unibi_key_ll) == NULL, "key_ll = null");
371 ok(strcmp(unibi_get_str(ut, unibi_key_npage), "\033[6~") == 0, "key_npage = \"\\033[6~\"");
372 unibi_set_str(dt, unibi_key_npage, "\033[6~");
373 ok(strcmp(unibi_get_str(ut, unibi_key_ppage), "\033[5~") == 0, "key_ppage = \"\\033[5~\"");
374 unibi_set_str(dt, unibi_key_ppage, "\033[5~");
375 ok(strcmp(unibi_get_str(ut, unibi_key_right), "\033OC") == 0, "key_right = \"\\033OC\"");
376 unibi_set_str(dt, unibi_key_right, "\033OC");
377 ok(unibi_get_str(ut, unibi_key_sf) == NULL, "key_sf = null");
378 ok(unibi_get_str(ut, unibi_key_sr) == NULL, "key_sr = null");
379 ok(unibi_get_str(ut, unibi_key_stab) == NULL, "key_stab = null");
380 ok(strcmp(unibi_get_str(ut, unibi_key_up), "\033OA") == 0, "key_up = \"\\033OA\"");
381 unibi_set_str(dt, unibi_key_up, "\033OA");
382 ok(strcmp(unibi_get_str(ut, unibi_keypad_local), "\033[?1l\033>") == 0, "keypad_local = \"\\033[?1l\\033>\"");
383 unibi_set_str(dt, unibi_keypad_local, "\033[?1l\033>");
384 ok(strcmp(unibi_get_str(ut, unibi_keypad_xmit), "\033[?1h\033=") == 0, "keypad_xmit = \"\\033[?1h\\033=\"");
385 unibi_set_str(dt, unibi_keypad_xmit, "\033[?1h\033=");
386 ok(unibi_get_str(ut, unibi_lab_f0) == NULL, "lab_f0 = null");
387 ok(unibi_get_str(ut, unibi_lab_f1) == NULL, "lab_f1 = null");
388 ok(unibi_get_str(ut, unibi_lab_f10) == NULL, "lab_f10 = null");
389 ok(unibi_get_str(ut, unibi_lab_f2) == NULL, "lab_f2 = null");
390 ok(unibi_get_str(ut, unibi_lab_f3) == NULL, "lab_f3 = null");
391 ok(unibi_get_str(ut, unibi_lab_f4) == NULL, "lab_f4 = null");
392 ok(unibi_get_str(ut, unibi_lab_f5) == NULL, "lab_f5 = null");
393 ok(unibi_get_str(ut, unibi_lab_f6) == NULL, "lab_f6 = null");
394 ok(unibi_get_str(ut, unibi_lab_f7) == NULL, "lab_f7 = null");
395 ok(unibi_get_str(ut, unibi_lab_f8) == NULL, "lab_f8 = null");
396 ok(unibi_get_str(ut, unibi_lab_f9) == NULL, "lab_f9 = null");
397 ok(unibi_get_str(ut, unibi_meta_off) == NULL, "meta_off = null");
398 ok(unibi_get_str(ut, unibi_meta_on) == NULL, "meta_on = null");
399 ok(strcmp(unibi_get_str(ut, unibi_newline), "\033E") == 0, "newline = \"\\033E\"");
400 unibi_set_str(dt, unibi_newline, "\033E");
401 ok(unibi_get_str(ut, unibi_pad_char) == NULL, "pad_char = null");
402 ok(strcmp(unibi_get_str(ut, unibi_parm_dch), "\033[%p1%dP") == 0, "parm_dch = \"\\033[%p1%dP\"");
403 unibi_set_str(dt, unibi_parm_dch, "\033[%p1%dP");
404 ok(strcmp(unibi_get_str(ut, unibi_parm_delete_line), "\033[%p1%dM") == 0, "parm_delete_line = \"\\033[%p1%dM\"");
405 unibi_set_str(dt, unibi_parm_delete_line, "\033[%p1%dM");
406 ok(strcmp(unibi_get_str(ut, unibi_parm_down_cursor), "\033[%p1%dB") == 0, "parm_down_cursor = \"\\033[%p1%dB\"");
407 unibi_set_str(dt, unibi_parm_down_cursor, "\033[%p1%dB");
408 ok(strcmp(unibi_get_str(ut, unibi_parm_ich), "\033[%p1%d@") == 0, "parm_ich = \"\\033[%p1%d@\"");
409 unibi_set_str(dt, unibi_parm_ich, "\033[%p1%d@");
410 ok(unibi_get_str(ut, unibi_parm_index) == NULL, "parm_index = null");
411 ok(strcmp(unibi_get_str(ut, unibi_parm_insert_line), "\033[%p1%dL") == 0, "parm_insert_line = \"\\033[%p1%dL\"");
412 unibi_set_str(dt, unibi_parm_insert_line, "\033[%p1%dL");
413 ok(strcmp(unibi_get_str(ut, unibi_parm_left_cursor), "\033[%p1%dD") == 0, "parm_left_cursor = \"\\033[%p1%dD\"");
414 unibi_set_str(dt, unibi_parm_left_cursor, "\033[%p1%dD");
415 ok(strcmp(unibi_get_str(ut, unibi_parm_right_cursor), "\033[%p1%dC") == 0, "parm_right_cursor = \"\\033[%p1%dC\"");
416 unibi_set_str(dt, unibi_parm_right_cursor, "\033[%p1%dC");
417 ok(unibi_get_str(ut, unibi_parm_rindex) == NULL, "parm_rindex = null");
418 ok(strcmp(unibi_get_str(ut, unibi_parm_up_cursor), "\033[%p1%dA") == 0, "parm_up_cursor = \"\\033[%p1%dA\"");
419 unibi_set_str(dt, unibi_parm_up_cursor, "\033[%p1%dA");
420 ok(unibi_get_str(ut, unibi_pkey_key) == NULL, "pkey_key = null");
421 ok(unibi_get_str(ut, unibi_pkey_local) == NULL, "pkey_local = null");
422 ok(unibi_get_str(ut, unibi_pkey_xmit) == NULL, "pkey_xmit = null");
423 ok(unibi_get_str(ut, unibi_print_screen) == NULL, "print_screen = null");
424 ok(unibi_get_str(ut, unibi_prtr_off) == NULL, "prtr_off = null");
425 ok(unibi_get_str(ut, unibi_prtr_on) == NULL, "prtr_on = null");
426 ok(unibi_get_str(ut, unibi_repeat_char) == NULL, "repeat_char = null");
427 ok(unibi_get_str(ut, unibi_reset_1string) == NULL, "reset_1string = null");
428 ok(strcmp(unibi_get_str(ut, unibi_reset_2string), "\033c\033[?1000l\033[?25h") == 0, "reset_2string = \"\\033c\\033[?1000l\\033[?25h\"");
429 unibi_set_str(dt, unibi_reset_2string, "\033c\033[?1000l\033[?25h");
430 ok(unibi_get_str(ut, unibi_reset_3string) == NULL, "reset_3string = null");
431 ok(unibi_get_str(ut, unibi_reset_file) == NULL, "reset_file = null");
432 ok(strcmp(unibi_get_str(ut, unibi_restore_cursor), "\0338") == 0, "restore_cursor = \"\\0338\"");
433 unibi_set_str(dt, unibi_restore_cursor, "\0338");
434 ok(unibi_get_str(ut, unibi_row_address) == NULL, "row_address = null");
435 ok(strcmp(unibi_get_str(ut, unibi_save_cursor), "\0337") == 0, "save_cursor = \"\\0337\"");
436 unibi_set_str(dt, unibi_save_cursor, "\0337");
437 ok(strcmp(unibi_get_str(ut, unibi_scroll_forward), "\012") == 0, "scroll_forward = \"\\012\"");
438 unibi_set_str(dt, unibi_scroll_forward, "\012");
439 ok(strcmp(unibi_get_str(ut, unibi_scroll_reverse), "\033M") == 0, "scroll_reverse = \"\\033M\"");
440 unibi_set_str(dt, unibi_scroll_reverse, "\033M");
441 ok(strcmp(unibi_get_str(ut, unibi_set_attributes), "\033[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;") == 0, "set_attributes = \"\\033[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m%?%p9%t\\016%e\\017%;\"");
442 unibi_set_str(dt, unibi_set_attributes, "\033[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;");
443 ok(strcmp(unibi_get_str(ut, unibi_set_tab), "\033H") == 0, "set_tab = \"\\033H\"");
444 unibi_set_str(dt, unibi_set_tab, "\033H");
445 ok(unibi_get_str(ut, unibi_set_window) == NULL, "set_window = null");
446 ok(strcmp(unibi_get_str(ut, unibi_tab), "\011") == 0, "tab = \"\\011\"");
447 unibi_set_str(dt, unibi_tab, "\011");
448 ok(unibi_get_str(ut, unibi_to_status_line) == NULL, "to_status_line = null");
449 ok(unibi_get_str(ut, unibi_underline_char) == NULL, "underline_char = null");
450 ok(unibi_get_str(ut, unibi_up_half_line) == NULL, "up_half_line = null");
451 ok(unibi_get_str(ut, unibi_init_prog) == NULL, "init_prog = null");
452 ok(unibi_get_str(ut, unibi_key_a1) == NULL, "key_a1 = null");
453 ok(unibi_get_str(ut, unibi_key_a3) == NULL, "key_a3 = null");
454 ok(unibi_get_str(ut, unibi_key_b2) == NULL, "key_b2 = null");
455 ok(unibi_get_str(ut, unibi_key_c1) == NULL, "key_c1 = null");
456 ok(unibi_get_str(ut, unibi_key_c3) == NULL, "key_c3 = null");
457 ok(unibi_get_str(ut, unibi_prtr_non) == NULL, "prtr_non = null");
458 ok(unibi_get_str(ut, unibi_char_padding) == NULL, "char_padding = null");
459 ok(strcmp(unibi_get_str(ut, unibi_acs_chars), "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~") == 0, "acs_chars = \"++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~\"");
460 unibi_set_str(dt, unibi_acs_chars, "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~");
461 ok(unibi_get_str(ut, unibi_plab_norm) == NULL, "plab_norm = null");
462 ok(strcmp(unibi_get_str(ut, unibi_key_btab), "\033[Z") == 0, "key_btab = \"\\033[Z\"");
463 unibi_set_str(dt, unibi_key_btab, "\033[Z");
464 ok(unibi_get_str(ut, unibi_enter_xon_mode) == NULL, "enter_xon_mode = null");
465 ok(unibi_get_str(ut, unibi_exit_xon_mode) == NULL, "exit_xon_mode = null");
466 ok(unibi_get_str(ut, unibi_enter_am_mode) == NULL, "enter_am_mode = null");
467 ok(unibi_get_str(ut, unibi_exit_am_mode) == NULL, "exit_am_mode = null");
468 ok(unibi_get_str(ut, unibi_xon_character) == NULL, "xon_character = null");
469 ok(unibi_get_str(ut, unibi_xoff_character) == NULL, "xoff_character = null");
470 ok(strcmp(unibi_get_str(ut, unibi_ena_acs), "\033(B\033)0") == 0, "ena_acs = \"\\033(B\\033)0\"");
471 unibi_set_str(dt, unibi_ena_acs, "\033(B\033)0");
472 ok(unibi_get_str(ut, unibi_label_on) == NULL, "label_on = null");
473 ok(unibi_get_str(ut, unibi_label_off) == NULL, "label_off = null");
474 ok(unibi_get_str(ut, unibi_key_beg) == NULL, "key_beg = null");
475 ok(unibi_get_str(ut, unibi_key_cancel) == NULL, "key_cancel = null");
476 ok(unibi_get_str(ut, unibi_key_close) == NULL, "key_close = null");
477 ok(unibi_get_str(ut, unibi_key_command) == NULL, "key_command = null");
478 ok(unibi_get_str(ut, unibi_key_copy) == NULL, "key_copy = null");
479 ok(unibi_get_str(ut, unibi_key_create) == NULL, "key_create = null");
480 ok(strcmp(unibi_get_str(ut, unibi_key_end), "\033[4~") == 0, "key_end = \"\\033[4~\"");
481 unibi_set_str(dt, unibi_key_end, "\033[4~");
482 ok(unibi_get_str(ut, unibi_key_enter) == NULL, "key_enter = null");
483 ok(unibi_get_str(ut, unibi_key_exit) == NULL, "key_exit = null");
484 ok(unibi_get_str(ut, unibi_key_find) == NULL, "key_find = null");
485 ok(unibi_get_str(ut, unibi_key_help) == NULL, "key_help = null");
486 ok(unibi_get_str(ut, unibi_key_mark) == NULL, "key_mark = null");
487 ok(unibi_get_str(ut, unibi_key_message) == NULL, "key_message = null");
488 ok(unibi_get_str(ut, unibi_key_move) == NULL, "key_move = null");
489 ok(unibi_get_str(ut, unibi_key_next) == NULL, "key_next = null");
490 ok(unibi_get_str(ut, unibi_key_open) == NULL, "key_open = null");
491 ok(unibi_get_str(ut, unibi_key_options) == NULL, "key_options = null");
492 ok(unibi_get_str(ut, unibi_key_previous) == NULL, "key_previous = null");
493 ok(unibi_get_str(ut, unibi_key_print) == NULL, "key_print = null");
494 ok(unibi_get_str(ut, unibi_key_redo) == NULL, "key_redo = null");
495 ok(unibi_get_str(ut, unibi_key_reference) == NULL, "key_reference = null");
496 ok(unibi_get_str(ut, unibi_key_refresh) == NULL, "key_refresh = null");
497 ok(unibi_get_str(ut, unibi_key_replace) == NULL, "key_replace = null");
498 ok(unibi_get_str(ut, unibi_key_restart) == NULL, "key_restart = null");
499 ok(unibi_get_str(ut, unibi_key_resume) == NULL, "key_resume = null");
500 ok(unibi_get_str(ut, unibi_key_save) == NULL, "key_save = null");
501 ok(unibi_get_str(ut, unibi_key_suspend) == NULL, "key_suspend = null");
502 ok(unibi_get_str(ut, unibi_key_undo) == NULL, "key_undo = null");
503 ok(unibi_get_str(ut, unibi_key_sbeg) == NULL, "key_sbeg = null");
504 ok(unibi_get_str(ut, unibi_key_scancel) == NULL, "key_scancel = null");
505 ok(unibi_get_str(ut, unibi_key_scommand) == NULL, "key_scommand = null");
506 ok(unibi_get_str(ut, unibi_key_scopy) == NULL, "key_scopy = null");
507 ok(unibi_get_str(ut, unibi_key_screate) == NULL, "key_screate = null");
508 ok(unibi_get_str(ut, unibi_key_sdc) == NULL, "key_sdc = null");
509 ok(unibi_get_str(ut, unibi_key_sdl) == NULL, "key_sdl = null");
510 ok(unibi_get_str(ut, unibi_key_select) == NULL, "key_select = null");
511 ok(unibi_get_str(ut, unibi_key_send) == NULL, "key_send = null");
512 ok(unibi_get_str(ut, unibi_key_seol) == NULL, "key_seol = null");
513 ok(unibi_get_str(ut, unibi_key_sexit) == NULL, "key_sexit = null");
514 ok(unibi_get_str(ut, unibi_key_sfind) == NULL, "key_sfind = null");
515 ok(unibi_get_str(ut, unibi_key_shelp) == NULL, "key_shelp = null");
516 ok(unibi_get_str(ut, unibi_key_shome) == NULL, "key_shome = null");
517 ok(unibi_get_str(ut, unibi_key_sic) == NULL, "key_sic = null");
518 ok(unibi_get_str(ut, unibi_key_sleft) == NULL, "key_sleft = null");
519 ok(unibi_get_str(ut, unibi_key_smessage) == NULL, "key_smessage = null");
520 ok(unibi_get_str(ut, unibi_key_smove) == NULL, "key_smove = null");
521 ok(unibi_get_str(ut, unibi_key_snext) == NULL, "key_snext = null");
522 ok(unibi_get_str(ut, unibi_key_soptions) == NULL, "key_soptions = null");
523 ok(unibi_get_str(ut, unibi_key_sprevious) == NULL, "key_sprevious = null");
524 ok(unibi_get_str(ut, unibi_key_sprint) == NULL, "key_sprint = null");
525 ok(unibi_get_str(ut, unibi_key_sredo) == NULL, "key_sredo = null");
526 ok(unibi_get_str(ut, unibi_key_sreplace) == NULL, "key_sreplace = null");
527 ok(unibi_get_str(ut, unibi_key_sright) == NULL, "key_sright = null");
528 ok(unibi_get_str(ut, unibi_key_srsume) == NULL, "key_srsume = null");
529 ok(unibi_get_str(ut, unibi_key_ssave) == NULL, "key_ssave = null");
530 ok(unibi_get_str(ut, unibi_key_ssuspend) == NULL, "key_ssuspend = null");
531 ok(unibi_get_str(ut, unibi_key_sundo) == NULL, "key_sundo = null");
532 ok(unibi_get_str(ut, unibi_req_for_input) == NULL, "req_for_input = null");
533 ok(strcmp(unibi_get_str(ut, unibi_key_f11), "\033[23~") == 0, "key_f11 = \"\\033[23~\"");
534 unibi_set_str(dt, unibi_key_f11, "\033[23~");
535 ok(strcmp(unibi_get_str(ut, unibi_key_f12), "\033[24~") == 0, "key_f12 = \"\\033[24~\"");
536 unibi_set_str(dt, unibi_key_f12, "\033[24~");
537 ok(unibi_get_str(ut, unibi_key_f13) == NULL, "key_f13 = null");
538 ok(unibi_get_str(ut, unibi_key_f14) == NULL, "key_f14 = null");
539 ok(unibi_get_str(ut, unibi_key_f15) == NULL, "key_f15 = null");
540 ok(unibi_get_str(ut, unibi_key_f16) == NULL, "key_f16 = null");
541 ok(unibi_get_str(ut, unibi_key_f17) == NULL, "key_f17 = null");
542 ok(unibi_get_str(ut, unibi_key_f18) == NULL, "key_f18 = null");
543 ok(unibi_get_str(ut, unibi_key_f19) == NULL, "key_f19 = null");
544 ok(unibi_get_str(ut, unibi_key_f20) == NULL, "key_f20 = null");
545 ok(unibi_get_str(ut, unibi_key_f21) == NULL, "key_f21 = null");
546 ok(unibi_get_str(ut, unibi_key_f22) == NULL, "key_f22 = null");
547 ok(unibi_get_str(ut, unibi_key_f23) == NULL, "key_f23 = null");
548 ok(unibi_get_str(ut, unibi_key_f24) == NULL, "key_f24 = null");
549 ok(unibi_get_str(ut, unibi_key_f25) == NULL, "key_f25 = null");
550 ok(unibi_get_str(ut, unibi_key_f26) == NULL, "key_f26 = null");
551 ok(unibi_get_str(ut, unibi_key_f27) == NULL, "key_f27 = null");
552 ok(unibi_get_str(ut, unibi_key_f28) == NULL, "key_f28 = null");
553 ok(unibi_get_str(ut, unibi_key_f29) == NULL, "key_f29 = null");
554 ok(unibi_get_str(ut, unibi_key_f30) == NULL, "key_f30 = null");
555 ok(unibi_get_str(ut, unibi_key_f31) == NULL, "key_f31 = null");
556 ok(unibi_get_str(ut, unibi_key_f32) == NULL, "key_f32 = null");
557 ok(unibi_get_str(ut, unibi_key_f33) == NULL, "key_f33 = null");
558 ok(unibi_get_str(ut, unibi_key_f34) == NULL, "key_f34 = null");
559 ok(unibi_get_str(ut, unibi_key_f35) == NULL, "key_f35 = null");
560 ok(unibi_get_str(ut, unibi_key_f36) == NULL, "key_f36 = null");
561 ok(unibi_get_str(ut, unibi_key_f37) == NULL, "key_f37 = null");
562 ok(unibi_get_str(ut, unibi_key_f38) == NULL, "key_f38 = null");
563 ok(unibi_get_str(ut, unibi_key_f39) == NULL, "key_f39 = null");
564 ok(unibi_get_str(ut, unibi_key_f40) == NULL, "key_f40 = null");
565 ok(unibi_get_str(ut, unibi_key_f41) == NULL, "key_f41 = null");
566 ok(unibi_get_str(ut, unibi_key_f42) == NULL, "key_f42 = null");
567 ok(unibi_get_str(ut, unibi_key_f43) == NULL, "key_f43 = null");
568 ok(unibi_get_str(ut, unibi_key_f44) == NULL, "key_f44 = null");
569 ok(unibi_get_str(ut, unibi_key_f45) == NULL, "key_f45 = null");
570 ok(unibi_get_str(ut, unibi_key_f46) == NULL, "key_f46 = null");
571 ok(unibi_get_str(ut, unibi_key_f47) == NULL, "key_f47 = null");
572 ok(unibi_get_str(ut, unibi_key_f48) == NULL, "key_f48 = null");
573 ok(unibi_get_str(ut, unibi_key_f49) == NULL, "key_f49 = null");
574 ok(unibi_get_str(ut, unibi_key_f50) == NULL, "key_f50 = null");
575 ok(unibi_get_str(ut, unibi_key_f51) == NULL, "key_f51 = null");
576 ok(unibi_get_str(ut, unibi_key_f52) == NULL, "key_f52 = null");
577 ok(unibi_get_str(ut, unibi_key_f53) == NULL, "key_f53 = null");
578 ok(unibi_get_str(ut, unibi_key_f54) == NULL, "key_f54 = null");
579 ok(unibi_get_str(ut, unibi_key_f55) == NULL, "key_f55 = null");
580 ok(unibi_get_str(ut, unibi_key_f56) == NULL, "key_f56 = null");
581 ok(unibi_get_str(ut, unibi_key_f57) == NULL, "key_f57 = null");
582 ok(unibi_get_str(ut, unibi_key_f58) == NULL, "key_f58 = null");
583 ok(unibi_get_str(ut, unibi_key_f59) == NULL, "key_f59 = null");
584 ok(unibi_get_str(ut, unibi_key_f60) == NULL, "key_f60 = null");
585 ok(unibi_get_str(ut, unibi_key_f61) == NULL, "key_f61 = null");
586 ok(unibi_get_str(ut, unibi_key_f62) == NULL, "key_f62 = null");
587 ok(unibi_get_str(ut, unibi_key_f63) == NULL, "key_f63 = null");
588 ok(strcmp(unibi_get_str(ut, unibi_clr_bol), "\033[1K") == 0, "clr_bol = \"\\033[1K\"");
589 unibi_set_str(dt, unibi_clr_bol, "\033[1K");
590 ok(unibi_get_str(ut, unibi_clear_margins) == NULL, "clear_margins = null");
591 ok(unibi_get_str(ut, unibi_set_left_margin) == NULL, "set_left_margin = null");
592 ok(unibi_get_str(ut, unibi_set_right_margin) == NULL, "set_right_margin = null");
593 ok(unibi_get_str(ut, unibi_label_format) == NULL, "label_format = null");
594 ok(unibi_get_str(ut, unibi_set_clock) == NULL, "set_clock = null");
595 ok(unibi_get_str(ut, unibi_display_clock) == NULL, "display_clock = null");
596 ok(unibi_get_str(ut, unibi_remove_clock) == NULL, "remove_clock = null");
597 ok(unibi_get_str(ut, unibi_create_window) == NULL, "create_window = null");
598 ok(unibi_get_str(ut, unibi_goto_window) == NULL, "goto_window = null");
599 ok(unibi_get_str(ut, unibi_hangup) == NULL, "hangup = null");
600 ok(unibi_get_str(ut, unibi_dial_phone) == NULL, "dial_phone = null");
601 ok(unibi_get_str(ut, unibi_quick_dial) == NULL, "quick_dial = null");
602 ok(unibi_get_str(ut, unibi_tone) == NULL, "tone = null");
603 ok(unibi_get_str(ut, unibi_pulse) == NULL, "pulse = null");
604 ok(unibi_get_str(ut, unibi_flash_hook) == NULL, "flash_hook = null");
605 ok(unibi_get_str(ut, unibi_fixed_pause) == NULL, "fixed_pause = null");
606 ok(unibi_get_str(ut, unibi_wait_tone) == NULL, "wait_tone = null");
607 ok(unibi_get_str(ut, unibi_user0) == NULL, "user0 = null");
608 ok(unibi_get_str(ut, unibi_user1) == NULL, "user1 = null");
609 ok(unibi_get_str(ut, unibi_user2) == NULL, "user2 = null");
610 ok(unibi_get_str(ut, unibi_user3) == NULL, "user3 = null");
611 ok(unibi_get_str(ut, unibi_user4) == NULL, "user4 = null");
612 ok(unibi_get_str(ut, unibi_user5) == NULL, "user5 = null");
613 ok(unibi_get_str(ut, unibi_user6) == NULL, "user6 = null");
614 ok(unibi_get_str(ut, unibi_user7) == NULL, "user7 = null");
615 ok(unibi_get_str(ut, unibi_user8) == NULL, "user8 = null");
616 ok(unibi_get_str(ut, unibi_user9) == NULL, "user9 = null");
617 ok(strcmp(unibi_get_str(ut, unibi_orig_pair), "\033[39;49m") == 0, "orig_pair = \"\\033[39;49m\"");
618 unibi_set_str(dt, unibi_orig_pair, "\033[39;49m");
619 ok(unibi_get_str(ut, unibi_orig_colors) == NULL, "orig_colors = null");
620 ok(unibi_get_str(ut, unibi_initialize_color) == NULL, "initialize_color = null");
621 ok(unibi_get_str(ut, unibi_initialize_pair) == NULL, "initialize_pair = null");
622 ok(unibi_get_str(ut, unibi_set_color_pair) == NULL, "set_color_pair = null");
623 ok(unibi_get_str(ut, unibi_set_foreground) == NULL, "set_foreground = null");
624 ok(unibi_get_str(ut, unibi_set_background) == NULL, "set_background = null");
625 ok(unibi_get_str(ut, unibi_change_char_pitch) == NULL, "change_char_pitch = null");
626 ok(unibi_get_str(ut, unibi_change_line_pitch) == NULL, "change_line_pitch = null");
627 ok(unibi_get_str(ut, unibi_change_res_horz) == NULL, "change_res_horz = null");
628 ok(unibi_get_str(ut, unibi_change_res_vert) == NULL, "change_res_vert = null");
629 ok(unibi_get_str(ut, unibi_define_char) == NULL, "define_char = null");
630 ok(unibi_get_str(ut, unibi_enter_doublewide_mode) == NULL, "enter_doublewide_mode = null");
631 ok(unibi_get_str(ut, unibi_enter_draft_quality) == NULL, "enter_draft_quality = null");
632 ok(unibi_get_str(ut, unibi_enter_italics_mode) == NULL, "enter_italics_mode = null");
633 ok(unibi_get_str(ut, unibi_enter_leftward_mode) == NULL, "enter_leftward_mode = null");
634 ok(unibi_get_str(ut, unibi_enter_micro_mode) == NULL, "enter_micro_mode = null");
635 ok(unibi_get_str(ut, unibi_enter_near_letter_quality) == NULL, "enter_near_letter_quality = null");
636 ok(unibi_get_str(ut, unibi_enter_normal_quality) == NULL, "enter_normal_quality = null");
637 ok(unibi_get_str(ut, unibi_enter_shadow_mode) == NULL, "enter_shadow_mode = null");
638 ok(unibi_get_str(ut, unibi_enter_subscript_mode) == NULL, "enter_subscript_mode = null");
639 ok(unibi_get_str(ut, unibi_enter_superscript_mode) == NULL, "enter_superscript_mode = null");
640 ok(unibi_get_str(ut, unibi_enter_upward_mode) == NULL, "enter_upward_mode = null");
641 ok(unibi_get_str(ut, unibi_exit_doublewide_mode) == NULL, "exit_doublewide_mode = null");
642 ok(unibi_get_str(ut, unibi_exit_italics_mode) == NULL, "exit_italics_mode = null");
643 ok(unibi_get_str(ut, unibi_exit_leftward_mode) == NULL, "exit_leftward_mode = null");
644 ok(unibi_get_str(ut, unibi_exit_micro_mode) == NULL, "exit_micro_mode = null");
645 ok(unibi_get_str(ut, unibi_exit_shadow_mode) == NULL, "exit_shadow_mode = null");
646 ok(unibi_get_str(ut, unibi_exit_subscript_mode) == NULL, "exit_subscript_mode = null");
647 ok(unibi_get_str(ut, unibi_exit_superscript_mode) == NULL, "exit_superscript_mode = null");
648 ok(unibi_get_str(ut, unibi_exit_upward_mode) == NULL, "exit_upward_mode = null");
649 ok(unibi_get_str(ut, unibi_micro_column_address) == NULL, "micro_column_address = null");
650 ok(unibi_get_str(ut, unibi_micro_down) == NULL, "micro_down = null");
651 ok(unibi_get_str(ut, unibi_micro_left) == NULL, "micro_left = null");
652 ok(unibi_get_str(ut, unibi_micro_right) == NULL, "micro_right = null");
653 ok(unibi_get_str(ut, unibi_micro_row_address) == NULL, "micro_row_address = null");
654 ok(unibi_get_str(ut, unibi_micro_up) == NULL, "micro_up = null");
655 ok(unibi_get_str(ut, unibi_order_of_pins) == NULL, "order_of_pins = null");
656 ok(unibi_get_str(ut, unibi_parm_down_micro) == NULL, "parm_down_micro = null");
657 ok(unibi_get_str(ut, unibi_parm_left_micro) == NULL, "parm_left_micro = null");
658 ok(unibi_get_str(ut, unibi_parm_right_micro) == NULL, "parm_right_micro = null");
659 ok(unibi_get_str(ut, unibi_parm_up_micro) == NULL, "parm_up_micro = null");
660 ok(unibi_get_str(ut, unibi_select_char_set) == NULL, "select_char_set = null");
661 ok(unibi_get_str(ut, unibi_set_bottom_margin) == NULL, "set_bottom_margin = null");
662 ok(unibi_get_str(ut, unibi_set_bottom_margin_parm) == NULL, "set_bottom_margin_parm = null");
663 ok(unibi_get_str(ut, unibi_set_left_margin_parm) == NULL, "set_left_margin_parm = null");
664 ok(unibi_get_str(ut, unibi_set_right_margin_parm) == NULL, "set_right_margin_parm = null");
665 ok(unibi_get_str(ut, unibi_set_top_margin) == NULL, "set_top_margin = null");
666 ok(unibi_get_str(ut, unibi_set_top_margin_parm) == NULL, "set_top_margin_parm = null");
667 ok(unibi_get_str(ut, unibi_start_bit_image) == NULL, "start_bit_image = null");
668 ok(unibi_get_str(ut, unibi_start_char_set_def) == NULL, "start_char_set_def = null");
669 ok(unibi_get_str(ut, unibi_stop_bit_image) == NULL, "stop_bit_image = null");
670 ok(unibi_get_str(ut, unibi_stop_char_set_def) == NULL, "stop_char_set_def = null");
671 ok(unibi_get_str(ut, unibi_subscript_characters) == NULL, "subscript_characters = null");
672 ok(unibi_get_str(ut, unibi_superscript_characters) == NULL, "superscript_characters = null");
673 ok(unibi_get_str(ut, unibi_these_cause_cr) == NULL, "these_cause_cr = null");
674 ok(unibi_get_str(ut, unibi_zero_motion) == NULL, "zero_motion = null");
675 ok(unibi_get_str(ut, unibi_char_set_names) == NULL, "char_set_names = null");
676 ok(strcmp(unibi_get_str(ut, unibi_key_mouse), "\033[M") == 0, "key_mouse = \"\\033[M\"");
677 unibi_set_str(dt, unibi_key_mouse, "\033[M");
678 ok(unibi_get_str(ut, unibi_mouse_info) == NULL, "mouse_info = null");
679 ok(unibi_get_str(ut, unibi_req_mouse_pos) == NULL, "req_mouse_pos = null");
680 ok(unibi_get_str(ut, unibi_get_mouse) == NULL, "get_mouse = null");
681 ok(strcmp(unibi_get_str(ut, unibi_set_a_foreground), "\033[3%p1%dm") == 0, "set_a_foreground = \"\\033[3%p1%dm\"");
682 unibi_set_str(dt, unibi_set_a_foreground, "\033[3%p1%dm");
683 ok(strcmp(unibi_get_str(ut, unibi_set_a_background), "\033[4%p1%dm") == 0, "set_a_background = \"\\033[4%p1%dm\"");
684 unibi_set_str(dt, unibi_set_a_background, "\033[4%p1%dm");
685 ok(unibi_get_str(ut, unibi_pkey_plab) == NULL, "pkey_plab = null");
686 ok(unibi_get_str(ut, unibi_device_type) == NULL, "device_type = null");
687 ok(unibi_get_str(ut, unibi_code_set_init) == NULL, "code_set_init = null");
688 ok(unibi_get_str(ut, unibi_set0_des_seq) == NULL, "set0_des_seq = null");
689 ok(unibi_get_str(ut, unibi_set1_des_seq) == NULL, "set1_des_seq = null");
690 ok(unibi_get_str(ut, unibi_set2_des_seq) == NULL, "set2_des_seq = null");
691 ok(unibi_get_str(ut, unibi_set3_des_seq) == NULL, "set3_des_seq = null");
692 ok(unibi_get_str(ut, unibi_set_lr_margin) == NULL, "set_lr_margin = null");
693 ok(unibi_get_str(ut, unibi_set_tb_margin) == NULL, "set_tb_margin = null");
694 ok(unibi_get_str(ut, unibi_bit_image_repeat) == NULL, "bit_image_repeat = null");
695 ok(unibi_get_str(ut, unibi_bit_image_newline) == NULL, "bit_image_newline = null");
696 ok(unibi_get_str(ut, unibi_bit_image_carriage_return) == NULL, "bit_image_carriage_return = null");
697 ok(unibi_get_str(ut, unibi_color_names) == NULL, "color_names = null");
698 ok(unibi_get_str(ut, unibi_define_bit_image_region) == NULL, "define_bit_image_region = null");
699 ok(unibi_get_str(ut, unibi_end_bit_image_region) == NULL, "end_bit_image_region = null");
700 ok(unibi_get_str(ut, unibi_set_color_band) == NULL, "set_color_band = null");
701 ok(unibi_get_str(ut, unibi_set_page_length) == NULL, "set_page_length = null");
702 ok(unibi_get_str(ut, unibi_display_pc_char) == NULL, "display_pc_char = null");
703 ok(unibi_get_str(ut, unibi_enter_pc_charset_mode) == NULL, "enter_pc_charset_mode = null");
704 ok(unibi_get_str(ut, unibi_exit_pc_charset_mode) == NULL, "exit_pc_charset_mode = null");
705 ok(unibi_get_str(ut, unibi_enter_scancode_mode) == NULL, "enter_scancode_mode = null");
706 ok(unibi_get_str(ut, unibi_exit_scancode_mode) == NULL, "exit_scancode_mode = null");
707 ok(unibi_get_str(ut, unibi_pc_term_options) == NULL, "pc_term_options = null");
708 ok(unibi_get_str(ut, unibi_scancode_escape) == NULL, "scancode_escape = null");
709 ok(unibi_get_str(ut, unibi_alt_scancode_esc) == NULL, "alt_scancode_esc = null");
710 ok(unibi_get_str(ut, unibi_enter_horizontal_hl_mode) == NULL, "enter_horizontal_hl_mode = null");
711 ok(unibi_get_str(ut, unibi_enter_left_hl_mode) == NULL, "enter_left_hl_mode = null");
712 ok(unibi_get_str(ut, unibi_enter_low_hl_mode) == NULL, "enter_low_hl_mode = null");
713 ok(unibi_get_str(ut, unibi_enter_right_hl_mode) == NULL, "enter_right_hl_mode = null");
714 ok(unibi_get_str(ut, unibi_enter_top_hl_mode) == NULL, "enter_top_hl_mode = null");
715 ok(unibi_get_str(ut, unibi_enter_vertical_hl_mode) == NULL, "enter_vertical_hl_mode = null");
716 ok(unibi_get_str(ut, unibi_set_a_attributes) == NULL, "set_a_attributes = null");
717 ok(unibi_get_str(ut, unibi_set_pglen_inch) == NULL, "set_pglen_inch = null");
718 ok(unibi_get_str(ut, unibi_termcap_init2) == NULL, "termcap_init2 = null");
719 ok(unibi_get_str(ut, unibi_termcap_reset) == NULL, "termcap_reset = null");
720 ok(unibi_get_str(ut, unibi_linefeed_if_not_lf) == NULL, "linefeed_if_not_lf = null");
721 ok(unibi_get_str(ut, unibi_backspace_if_not_bs) == NULL, "backspace_if_not_bs = null");
722 ok(unibi_get_str(ut, unibi_other_non_function_keys) == NULL, "other_non_function_keys = null");
723 ok(unibi_get_str(ut, unibi_arrow_key_map) == NULL, "arrow_key_map = null");
724 ok(unibi_get_str(ut, unibi_acs_ulcorner) == NULL, "acs_ulcorner = null");
725 ok(unibi_get_str(ut, unibi_acs_llcorner) == NULL, "acs_llcorner = null");
726 ok(unibi_get_str(ut, unibi_acs_urcorner) == NULL, "acs_urcorner = null");
727 ok(unibi_get_str(ut, unibi_acs_lrcorner) == NULL, "acs_lrcorner = null");
728 ok(unibi_get_str(ut, unibi_acs_ltee) == NULL, "acs_ltee = null");
729 ok(unibi_get_str(ut, unibi_acs_rtee) == NULL, "acs_rtee = null");
730 ok(unibi_get_str(ut, unibi_acs_btee) == NULL, "acs_btee = null");
731 ok(unibi_get_str(ut, unibi_acs_ttee) == NULL, "acs_ttee = null");
732 ok(unibi_get_str(ut, unibi_acs_hline) == NULL, "acs_hline = null");
733 ok(unibi_get_str(ut, unibi_acs_vline) == NULL, "acs_vline = null");
734 ok(unibi_get_str(ut, unibi_acs_plus) == NULL, "acs_plus = null");
735 ok(unibi_get_str(ut, unibi_memory_lock) == NULL, "memory_lock = null");
736 ok(unibi_get_str(ut, unibi_memory_unlock) == NULL, "memory_unlock = null");
737 ok(unibi_get_str(ut, unibi_box_chars_1) == NULL, "box_chars_1 = null");
738
739 diag("extended boolean capabilities");
740 {
741 const size_t n_ext = unibi_count_ext_bool(ut);
742 ok(n_ext == 3, "#ext_bool = 3");
743 ok(0 < n_ext && unibi_get_ext_bool(ut, 0) == 1, "ext_bool[0].value = 1");
744 ok(0 < n_ext && strcmp(unibi_get_ext_bool_name(ut, 0), "AX") == 0, "ext_bool[0].name = \"AX\"");
745 unibi_add_ext_bool(dt, "AX", 1);
746 ok(1 < n_ext && unibi_get_ext_bool(ut, 1) == 1, "ext_bool[1].value = 1");
747 ok(1 < n_ext && strcmp(unibi_get_ext_bool_name(ut, 1), "G0") == 0, "ext_bool[1].name = \"G0\"");
748 unibi_add_ext_bool(dt, "G0", 1);
749 ok(2 < n_ext && unibi_get_ext_bool(ut, 2) == 0, "ext_bool[2].value = 0");
750 ok(2 < n_ext && strcmp(unibi_get_ext_bool_name(ut, 2), "XT") == 0, "ext_bool[2].name = \"XT\"");
751 unibi_add_ext_bool(dt, "XT", 0);
752 }
753
754 diag("extended numeric capabilities");
755 {
756 const size_t n_ext = unibi_count_ext_num(ut);
757 ok(n_ext == 1, "#ext_num = 1");
758 ok(0 < n_ext && unibi_get_ext_num(ut, 0) == 1, "ext_num[0].value = 1");
759 ok(0 < n_ext && strcmp(unibi_get_ext_num_name(ut, 0), "U8") == 0, "ext_num[0].name = \"U8\"");
760 unibi_add_ext_num(dt, "U8", 1);
761 }
762
763 diag("extended string capabilities");
764 {
765 const size_t n_ext = unibi_count_ext_str(ut);
766 ok(n_ext == 6, "#ext_str = 6");
767 ok(0 < n_ext && strcmp(unibi_get_ext_str(ut, 0), "\033(B") == 0, "ext_str[0].value = \"\\033(B\"");
768 unibi_add_ext_str(dt, "E0", "\033(B");
769 ok(0 < n_ext && strcmp(unibi_get_ext_str_name(ut, 0), "E0") == 0, "ext_str[0].name = \"E0\"");
770 ok(1 < n_ext && strcmp(unibi_get_ext_str(ut, 1), "\033(%p1%c") == 0, "ext_str[1].value = \"\\033(%p1%c\"");
771 unibi_add_ext_str(dt, "S0", "\033(%p1%c");
772 ok(1 < n_ext && strcmp(unibi_get_ext_str_name(ut, 1), "S0") == 0, "ext_str[1].name = \"S0\"");
773 ok(2 < n_ext && unibi_get_ext_str(ut, 2) == NULL, "ext_str[2].value = null");
774 unibi_add_ext_str(dt, "ka2", NULL);
775 ok(2 < n_ext && strcmp(unibi_get_ext_str_name(ut, 2), "ka2") == 0, "ext_str[2].name = \"ka2\"");
776 ok(3 < n_ext && unibi_get_ext_str(ut, 3) == NULL, "ext_str[3].value = null");
777 unibi_add_ext_str(dt, "kb1", NULL);
778 ok(3 < n_ext && strcmp(unibi_get_ext_str_name(ut, 3), "kb1") == 0, "ext_str[3].name = \"kb1\"");
779 ok(4 < n_ext && unibi_get_ext_str(ut, 4) == NULL, "ext_str[4].value = null");
780 unibi_add_ext_str(dt, "kb3", NULL);
781 ok(4 < n_ext && strcmp(unibi_get_ext_str_name(ut, 4), "kb3") == 0, "ext_str[4].name = \"kb3\"");
782 ok(5 < n_ext && unibi_get_ext_str(ut, 5) == NULL, "ext_str[5].value = null");
783 unibi_add_ext_str(dt, "kc2", NULL);
784 ok(5 < n_ext && strcmp(unibi_get_ext_str_name(ut, 5), "kc2") == 0, "ext_str[5].name = \"kc2\"");
785 }
786
787 {
788 char buf[sizeof terminfo];
789 size_t r = unibi_dump(ut, buf, sizeof buf);
790 ok(r == sizeof terminfo, "redump size == orig size");
791 ok(memcmp(terminfo, buf, sizeof buf) == 0, "redump == orig");
792 }
793
794 {
795 char buf[sizeof terminfo];
796 size_t r = unibi_dump(dt, buf, sizeof buf);
797 ok(r == sizeof terminfo, "dummy redump size == orig size");
798 ok(memcmp(terminfo, buf, sizeof buf) == 0, "dummy redump == orig");
799 }
800
801 unibi_destroy(ut);
802 ok(1, "object destroyed");
803
804 unibi_destroy(dt);
805 ok(1, "dummy object destroyed");
806
807 return 0;
808 }
809
810 static void setup(void) {
811 setvbuf(stdout, NULL, _IOLBF, 0);
812
813 plan(531);
814 test_counter = 1;
815 }
Something went wrong with that request. Please try again.