summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2020-05-15 01:13:12 +0100
committerPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2020-05-15 01:13:12 +0100
commit4b886e0efd7fc68031509e7a30c48d18f93eb8d4 (patch)
tree3127d95a69d69f49eb8b338e3c8bb74ce73e2322 /t
parentdc668652f5c252ed802c7d1d7dbedfc668485b5f (diff)
Split t/10term-write.c into two stages with two separate stages
Diffstat (limited to 't')
-rw-r--r--t/10term-write.c113
1 files changed, 62 insertions, 51 deletions
diff --git a/t/10term-write.c b/t/10term-write.c
index 9b02a53..7662496 100644
--- a/t/10term-write.c
+++ b/t/10term-write.c
@@ -18,91 +18,102 @@ void output(TickitTerm *tt, const char *bytes, size_t len, void *user)
int main(int argc, char *argv[])
{
- TickitTerm *tt;
- int fd[2];
char buffer[1024] = { 0 };
size_t len;
- /* We'll need a real filehandle we can write/read.
- * pipe() can make us one */
- pipe(fd);
+ /* Output via filehandle */
+ {
+ int fd[2];
+ /* We'll need a real filehandle we can write/read.
+ * pipe() can make us one */
+ pipe(fd);
- tt = tickit_term_new_for_termtype("xterm");
+ TickitTerm *tt = tickit_term_new_for_termtype("xterm");
- ok(!!tt, "tickit_term_new_for_termtype");
+ ok(!!tt, "tickit_term_new_for_termtype");
- tickit_term_set_output_fd(tt, fd[1]);
+ tickit_term_set_output_fd(tt, fd[1]);
- is_int(tickit_term_get_output_fd(tt), fd[1], "tickit_term_get_output_fd");
+ is_int(tickit_term_get_output_fd(tt), fd[1], "tickit_term_get_output_fd");
- /* Already it should have written its DECSLRM probe string */
- len = read(fd[0], buffer, sizeof buffer);
- buffer[len] = 0;
+ /* Already it should have written its DECSLRM probe string */
+ len = read(fd[0], buffer, sizeof buffer);
+ buffer[len] = 0;
- is_str_escape(buffer,
- "\e[?69h\e[?69$p\e[?25$p\e[?12$p\eP$q q\e\\"
- "\e[38;5;255m\e[38:2:0:1:2m\eP$qm\e\\\e[m"
- "\e[G\e[K",
- "buffer after initialisation contains DECSLRM and cursor status probes");
+ is_str_escape(buffer,
+ "\e[?69h\e[?69$p\e[?25$p\e[?12$p\eP$q q\e\\"
+ "\e[38;5;255m\e[38:2:0:1:2m\eP$qm\e\\\e[m"
+ "\e[G\e[K",
+ "buffer after initialisation contains DECSLRM and cursor status probes");
- tickit_term_print(tt, "Hello world!");
+ tickit_term_print(tt, "Hello world!");
- len = read(fd[0], buffer, sizeof buffer);
- buffer[len] = 0;
+ len = read(fd[0], buffer, sizeof buffer);
+ buffer[len] = 0;
- is_int(len, 12, "read() length after tickit_term_print");
- is_str_escape(buffer, "Hello world!", "buffer after tickit_term_print");
+ is_int(len, 12, "read() length after tickit_term_print");
+ is_str_escape(buffer, "Hello world!", "buffer after tickit_term_print");
- tickit_term_printn(tt, "another string here", 7);
+ tickit_term_printn(tt, "another string here", 7);
- len = read(fd[0], buffer, sizeof buffer);
- buffer[len] = 0;
+ len = read(fd[0], buffer, sizeof buffer);
+ buffer[len] = 0;
- is_int(len, 7, "read() length after tickit_term_printn");
- is_str_escape(buffer, "another", "buffer after tickit_term_printn");
+ is_int(len, 7, "read() length after tickit_term_printn");
+ is_str_escape(buffer, "another", "buffer after tickit_term_printn");
- tickit_term_printf(tt, "%s %s!", "More", "messages");
+ tickit_term_printf(tt, "%s %s!", "More", "messages");
- len = read(fd[0], buffer, sizeof buffer);
- buffer[len] = 0;
+ len = read(fd[0], buffer, sizeof buffer);
+ buffer[len] = 0;
- is_int(len, 14, "read() length after tickit_term_printf");
- is_str_escape(buffer, "More messages!", "buffer after tickit_term_printf");
+ is_int(len, 14, "read() length after tickit_term_printf");
+ is_str_escape(buffer, "More messages!", "buffer after tickit_term_printf");
- tickit_term_goto(tt, 2, 5);
+ tickit_term_goto(tt, 2, 5);
- len = read(fd[0], buffer, sizeof buffer);
- buffer[len] = 0;
+ len = read(fd[0], buffer, sizeof buffer);
+ buffer[len] = 0;
- is_str_escape(buffer, "\e[3;6H", "buffer after tickit_term_goto line+col");
+ is_str_escape(buffer, "\e[3;6H", "buffer after tickit_term_goto line+col");
- tickit_term_goto(tt, 4, -1);
+ tickit_term_goto(tt, 4, -1);
- len = read(fd[0], buffer, sizeof buffer);
- buffer[len] = 0;
+ len = read(fd[0], buffer, sizeof buffer);
+ buffer[len] = 0;
- is_str_escape(buffer, "\e[5d", "buffer after tickit_term_goto line");
+ is_str_escape(buffer, "\e[5d", "buffer after tickit_term_goto line");
- tickit_term_goto(tt, -1, 10);
+ tickit_term_goto(tt, -1, 10);
- len = read(fd[0], buffer, sizeof buffer);
- buffer[len] = 0;
+ len = read(fd[0], buffer, sizeof buffer);
+ buffer[len] = 0;
- is_str_escape(buffer, "\e[11G", "buffer after tickit_term_goto col");
+ is_str_escape(buffer, "\e[11G", "buffer after tickit_term_goto col");
- buffer[0] = 0;
+ tickit_term_unref(tt);
+ }
- tickit_term_set_output_func(tt, output, buffer);
+ /* Output by function */
+ {
+ TickitTerm *tt = tickit_term_new_for_termtype("xterm");
- tickit_term_print(tt, "Hello, world");
+ buffer[0] = 0;
+ tickit_term_set_output_func(tt, output, buffer);
- is_str(buffer, "Hello, world", "buffer after print using output func");
+ /* Ignore startup string */
+ buffer[0] = 0;
- tickit_term_unref(tt);
+ tickit_term_print(tt, "Hello, world");
- ok(1, "tickit_term_unref");
+ is_str(buffer, "Hello, world", "buffer after print using output func");
- ok(output_eof, "output func receives EOF indication after tickit_term_unref");
+ tickit_term_unref(tt);
+
+ ok(1, "tickit_term_unref");
+
+ ok(output_eof, "output func receives EOF indication after tickit_term_unref");
+ }
return exit_status();
}