summaryrefslogtreecommitdiff
path: root/tests/dcs_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/dcs_test.c')
-rw-r--r--tests/dcs_test.c150
1 files changed, 75 insertions, 75 deletions
diff --git a/tests/dcs_test.c b/tests/dcs_test.c
index d9455be..c76b73b 100644
--- a/tests/dcs_test.c
+++ b/tests/dcs_test.c
@@ -14,11 +14,11 @@ static void respond(void *ud, const char *data, size_t len)
response[len] = 0;
response_len = len;
}
-static void write_seq(struct term *t, const char *s)
+static void write_seq(struct wsap_vtcore *t, const char *s)
{
for (; *s; s++) tt_write(t, s, 1);
}
-static const char *row_text(struct term *t, int r, char *buf)
+static const char *row_text(struct wsap_vtcore *t, int r, char *buf)
{
int n = 0;
for (int c = 0; c < tt_cols(t); c++)
@@ -27,18 +27,18 @@ static const char *row_text(struct term *t, int r, char *buf)
buf[n] = 0;
return buf;
}
-static bool row_is(struct term *t, int r, const char *want)
+static bool row_is(struct wsap_vtcore *t, int r, const char *want)
{
- char got[TERM_MAX_COLS + 1];
+ char got[WSAP_VTCORE_MAX_COLS + 1];
if (strcmp(row_text(t, r, got), want)) {
fprintf(stderr, "row %d: got \"%s\" want \"%s\"\n", r, got, want);
return false;
}
return true;
}
-static struct term *new_term(int cols, int rows)
+static struct wsap_vtcore *new_term(int cols, int rows)
{
- struct term *t = tt_new_opts(cols, rows, &(struct term_callbacks){ .reply = respond });
+ struct wsap_vtcore *t = tt_new_opts(cols, rows, &(struct wsap_vtcore_callbacks){ .reply = respond });
assert(t);
response_len = 0;
response[0] = 0;
@@ -66,7 +66,7 @@ static void hex_encode(char *out, const char *s)
*out = 0;
}
-static void assert_rqss(struct term *t, const char *spec, const char *payload)
+static void assert_rqss(struct wsap_vtcore *t, const char *spec, const char *payload)
{
char req[128], want[256];
snprintf(req, sizeof(req), "\033P$q%s\033\\", spec);
@@ -75,7 +75,7 @@ static void assert_rqss(struct term *t, const char *spec, const char *payload)
write_seq(t, req);
expect_response(want);
}
-static void assert_rqss_invalid(struct term *t, const char *spec)
+static void assert_rqss_invalid(struct wsap_vtcore *t, const char *spec)
{
char req[128];
snprintf(req, sizeof(req), "\033P$q%s\033\\", spec);
@@ -86,55 +86,55 @@ static void assert_rqss_invalid(struct term *t, const char *spec)
static void test_decrqss_sgr(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
assert_rqss(t, "m", "m");
write_seq(t, "\033[1;31m");
assert_rqss(t, "m", "0;1;31m");
- term_free(t);
+ wsap_vtcore_free(t);
t = new_term(80, 24);
write_seq(t, "\033[4:3m");
assert_rqss(t, "m", "0;4:3m");
- term_free(t);
+ wsap_vtcore_free(t);
t = new_term(80, 24);
write_seq(t, "\033[38;2;10;20;30m");
assert_rqss(t, "m", "0;38:2:10:20:30m");
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_decrqss_margins_and_page(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
assert_rqss(t, "r", "1;24r");
assert_rqss(t, "t", "24t");
assert_rqss(t, "$|", "80$|");
assert_rqss(t, "*|", "24*|");
write_seq(t, "\033[3;10r");
assert_rqss(t, "r", "3;10r");
- term_free(t);
+ wsap_vtcore_free(t);
t = new_term(80, 24);
assert_rqss(t, "s", "1;80s");
write_seq(t, "\033[?69h\033[5;20s");
assert_rqss(t, "s", "5;20s");
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_decrqss_cursor_style(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
assert_rqss(t, " q", "1 q");
write_seq(t, "\033[5 q");
assert_rqss(t, " q", "5 q");
write_seq(t, "\033[4 q");
assert_rqss(t, " q", "4 q");
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_decrqss_misc(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
assert_rqss(t, "\"p", "64;1\"p");
assert_rqss(t, "\"q", "0\"q");
assert_rqss(t, "$}", "0$}");
@@ -142,12 +142,12 @@ static void test_decrqss_misc(void)
assert_rqss(t, "*x", "0*x");
write_seq(t, "\033[2*x");
assert_rqss(t, "*x", "2*x");
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_decrqss_invalid(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
static const char *bad[] = {
"){", ",|", ",}", ">0f", ">0m", ">0t", "z", "ABC",
};
@@ -157,10 +157,10 @@ static void test_decrqss_invalid(void)
response_len = 0;
write_seq(t, "\033P$x\033\\");
expect_no_response();
- term_free(t);
+ wsap_vtcore_free(t);
}
-static void assert_tcap(struct term *t, const char *name, const char *value)
+static void assert_tcap(struct wsap_vtcore *t, const char *name, const char *value)
{
char hn[128], hv[512], req[256], want[1024];
hex_encode(hn, name);
@@ -174,10 +174,10 @@ static void assert_tcap(struct term *t, const char *name, const char *value)
static void test_xtgettcap(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
assert_tcap(t, "kind", "\033[1;2B");
- assert_tcap(t, "TN", "term");
- assert_tcap(t, "name", "term");
+ assert_tcap(t, "TN", "wsap_vtcore");
+ assert_tcap(t, "name", "wsap_vtcore");
assert_tcap(t, "Co", "16777216");
assert_tcap(t, "colors", "16777216");
assert_tcap(t, "RGB", "8/8/8");
@@ -216,12 +216,12 @@ static void test_xtgettcap(void)
assert_tcap(t, "kri", "\033[1;2A");
assert_tcap(t, "kxIN", "\033[I");
assert_tcap(t, "kxOUT", "\033[O");
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_xtgettcap_multi(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
char hk[16], htn[16], hb[16], hv[32], req[256], want[1024];
hex_encode(hk, "kind");
hex_encode(htn, "TN");
@@ -230,7 +230,7 @@ static void test_xtgettcap_multi(void)
snprintf(req, sizeof(req), "\033P+q%s;%s\033\\", hk, htn);
snprintf(want, sizeof(want), "\033P1+r%s=%s;%s=%s\033\\",
- hk, hv, htn, "7465726d");
+ hk, hv, htn, "777361705f7674636f7265");
response_len = 0;
write_seq(t, req);
expect_response(want);
@@ -247,12 +247,12 @@ static void test_xtgettcap_multi(void)
response_len = 0;
write_seq(t, req);
expect_response(want);
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_xtgettcap_malformed(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
static const char *bad[] = {"6b696", "zz", "6g", "6b69 6e"};
for (size_t i = 0; i < sizeof(bad) / sizeof(bad[0]); i++) {
char req[128];
@@ -264,12 +264,12 @@ static void test_xtgettcap_malformed(void)
assert(response[response_len - 2] == '\033');
assert(response[response_len - 1] == '\\');
}
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_xtsettcap(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
char hn[32];
hex_encode(hn, "myterm");
char req[128];
@@ -278,12 +278,12 @@ static void test_xtsettcap(void)
write_seq(t, req);
expect_no_response();
assert_tcap(t, "TN", "myterm");
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_xtgetxres(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
char hn[64], req[128], want[256];
hex_encode(hn, "allowTcapOps");
snprintf(req, sizeof(req), "\033P+Q%s\033\\", hn);
@@ -291,40 +291,40 @@ static void test_xtgetxres(void)
response_len = 0;
write_seq(t, req);
expect_response(want);
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_decrsps_cir(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
write_seq(t, "\033P1$t3;5;1;I;@;H;00;@;BBBB\033\\");
assert(tt_cursor_y(t) == 2 && tt_cursor_x(t) == 4);
write_seq(t, "Z");
- const struct term_cell *cell = tt_cell(t, 4, 2);
+ const struct wsap_vtcore_cell *cell = tt_cell(t, 4, 2);
assert(cell->text == 'Z');
- assert(cell->attrs & TERM_ATTR_BOLD);
- assert(cell->fg == TERM_COLOR_BG);
- term_free(t);
+ assert(cell->attrs & WSAP_VTCORE_ATTR_BOLD);
+ assert(cell->fg == WSAP_VTCORE_COLOR_BG);
+ wsap_vtcore_free(t);
t = new_term(80, 24);
write_seq(t, "\033P1$t3;5;1;@;@;H;00;@;BBBB\033\\");
write_seq(t, "\033[1;80Hab");
assert(tt_cell(t, 79, 0)->text == 'a');
assert(tt_cell(t, 0, 1)->text == 'b');
- term_free(t);
+ wsap_vtcore_free(t);
t = new_term(80, 24);
write_seq(t, "\033[5;15r");
write_seq(t, "\033P1$t3;5;1;@;@;I;00;@;BBBB\033\\");
write_seq(t, "\033[1;1H");
assert(tt_cursor_y(t) == 4 && tt_cursor_x(t) == 0);
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_decrsps_tabsr(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
write_seq(t, "\033P2$t4/10\033\\");
write_seq(t, "\033[1;1H");
write_seq(t, "\t");
@@ -333,26 +333,26 @@ static void test_decrsps_tabsr(void)
assert(tt_cursor_x(t) == 9);
write_seq(t, "\t");
assert(tt_cursor_x(t) == 79);
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_synchronized_output(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
write_seq(t, "\033P=1s\033\\");
- assert(term_modes(t).synchronized);
+ assert(wsap_vtcore_modes(t).synchronized);
write_seq(t, "\033P=2s\033\\");
- assert(!term_modes(t).synchronized);
+ assert(!wsap_vtcore_modes(t).synchronized);
write_seq(t, "\033P=10s\033\\");
- assert(!term_modes(t).synchronized);
+ assert(!wsap_vtcore_modes(t).synchronized);
write_seq(t, "\033P=1;s\033\\");
- assert(term_modes(t).synchronized);
+ assert(wsap_vtcore_modes(t).synchronized);
write_seq(t, "\033P=xs\033\\");
- assert(term_modes(t).synchronized);
+ assert(wsap_vtcore_modes(t).synchronized);
write_seq(t, "\033P=2;s\033\\");
- assert(!term_modes(t).synchronized);
- term_free(t);
+ assert(!wsap_vtcore_modes(t).synchronized);
+ wsap_vtcore_free(t);
}
static void test_ignored_dcs(void)
@@ -367,36 +367,36 @@ static void test_ignored_dcs(void)
"\033P?~junk\033\\",
};
for (size_t i = 0; i < sizeof(seqs) / sizeof(seqs[0]); i++) {
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
write_seq(t, "A");
write_seq(t, seqs[i]);
write_seq(t, "B");
assert(row_is(t, 0, "AB"));
assert(tt_cursor_x(t) == 2 && tt_cursor_y(t) == 0);
expect_no_response();
- term_free(t);
+ wsap_vtcore_free(t);
}
}
static void test_xtversion(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
response_len = 0;
write_seq(t, "\033[>0q");
- expect_response("\033P>|term\033\\");
- term_free(t);
+ expect_response("\033P>|wsap_vtcore\033\\");
+ wsap_vtcore_free(t);
}
-/* term_options.name feeds XTVERSION and the TN and name capabilities. */
+/* wsap_vtcore_options.name feeds XTVERSION and the TN and name capabilities. */
static void test_host_name(void)
{
- struct term_options opt = {
+ struct wsap_vtcore_options opt = {
.size = { .x = 80, .y = 24 },
.scrollback = TEST_SCROLLBACK,
.name = "myterm",
.callbacks = { .reply = respond },
};
- struct term *t = term_new(&opt);
+ struct wsap_vtcore *t = wsap_vtcore_new(&opt);
assert(t);
response_len = 0;
write_seq(t, "\033[>0q");
@@ -412,28 +412,28 @@ static void test_host_name(void)
response_len = 0;
write_seq(t, "\033[>0q");
expect_response("\033P>|myterm\033\\");
- term_free(t);
+ wsap_vtcore_free(t);
/* NULL and "" both select the default. */
opt.name = "";
- t = term_new(&opt);
+ t = wsap_vtcore_new(&opt);
assert(t);
response_len = 0;
write_seq(t, "\033[>0q");
- expect_response("\033P>|term\033\\");
- term_free(t);
+ expect_response("\033P>|wsap_vtcore\033\\");
+ wsap_vtcore_free(t);
opt.name = NULL;
- t = term_new(&opt);
+ t = wsap_vtcore_new(&opt);
assert(t);
response_len = 0;
write_seq(t, "\033[>0q");
- expect_response("\033P>|term\033\\");
- term_free(t);
+ expect_response("\033P>|wsap_vtcore\033\\");
+ wsap_vtcore_free(t);
}
static void test_bel_terminator(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
response_len = 0;
write_seq(t, "\033P+q6b696e64\007");
expect_response("\033P1+r6b696e64=1b5b313b3242\033\\");
@@ -441,7 +441,7 @@ static void test_bel_terminator(void)
response_len = 0;
write_seq(t, "\033P$qm\007");
expect_response("\033P1$rm\033\\");
- term_free(t);
+ wsap_vtcore_free(t);
}
/* A query far past the old 256-byte DCS buffer is answered in full,
@@ -464,7 +464,7 @@ static void test_dcs_long_query(void)
snprintf(want + wn, sizeof(want) - (size_t)wn, "\033\\");
assert(strlen(req) > 256);
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
write_seq(t, req);
expect_response(want);
response_len = 0;
@@ -472,26 +472,26 @@ static void test_dcs_long_query(void)
expect_response(want);
write_seq(t, "X");
assert(row_is(t, 0, "X"));
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_dcs_abort_c0(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
response_len = 0;
write_seq(t, "\033P+q6b69\nX");
expect_no_response();
assert(row_is(t, 1, "X"));
- term_free(t);
+ wsap_vtcore_free(t);
}
static void test_dcs_abort_esc(void)
{
- struct term *t = new_term(80, 24);
+ struct wsap_vtcore *t = new_term(80, 24);
response_len = 0;
write_seq(t, "\033P$qm\033[5n");
expect_response("\033[0n");
- term_free(t);
+ wsap_vtcore_free(t);
}
int main(void)