From 82ad14175cbcc7c0c660720c7a31f8e6f1cefe4e Mon Sep 17 00:00:00 2001 From: Paul LeoNerd Evans Date: Wed, 18 Jan 2012 13:39:50 +0000 Subject: Added termkey_push_bytes(), a new API for providing input bytes --- t/02getkey.c | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) (limited to 't/02getkey.c') diff --git a/t/02getkey.c b/t/02getkey.c index 79d7976..6d076cb 100644 --- a/t/02getkey.c +++ b/t/02getkey.c @@ -4,30 +4,23 @@ int main(int argc, char *argv[]) { - int fd[2]; TermKey *tk; TermKeyKey key; - plan_tests(29); - - pipe(fd); + plan_tests(27); /* Sanitise this just in case */ putenv("TERM=vt100"); - tk = termkey_new(fd[0], TERMKEY_FLAG_NOTERMIOS); + tk = termkey_new(0, TERMKEY_FLAG_NOTERMIOS); is_int(termkey_get_buffer_remaining(tk), 256, "buffer free initially 256"); is_int(termkey_getkey(tk, &key), TERMKEY_RES_NONE, "getkey yields RES_NONE when empty"); - write(fd[1], "h", 1); - - is_int(termkey_getkey(tk, &key), TERMKEY_RES_NONE, "getkey yields RES_NONE before advisereadable"); - - is_int(termkey_advisereadable(tk), TERMKEY_RES_AGAIN, "advisereadable yields RES_AGAIN after h"); + is_int(termkey_push_bytes(tk, "h", 1), 1, "push_bytes returns 1"); - is_int(termkey_get_buffer_remaining(tk), 255, "buffer free 255 after advisereadable"); + is_int(termkey_get_buffer_remaining(tk), 255, "buffer free 255 after push_bytes"); is_int(termkey_getkey(tk, &key), TERMKEY_RES_KEY, "getkey yields RES_KEY after h"); @@ -40,9 +33,7 @@ int main(int argc, char *argv[]) is_int(termkey_getkey(tk, &key), TERMKEY_RES_NONE, "getkey yields RES_NONE a second time"); - write(fd[1], "\x01", 1); - - is_int(termkey_advisereadable(tk), TERMKEY_RES_AGAIN, "advisereadable yields RES_AGAIN after C-a"); + termkey_push_bytes(tk, "\x01", 1); is_int(termkey_getkey(tk, &key), TERMKEY_RES_KEY, "getkey yields RES_KEY after C-a"); @@ -50,9 +41,7 @@ int main(int argc, char *argv[]) is_int(key.code.number, 'a', "key.code.number after C-a"); is_int(key.modifiers, TERMKEY_KEYMOD_CTRL, "key.modifiers after C-a"); - write(fd[1], "\eOA", 3); - - is_int(termkey_advisereadable(tk), TERMKEY_RES_AGAIN, "advisereadable yields RES_AGAIN after Up"); + termkey_push_bytes(tk, "\eOA", 3); is_int(termkey_getkey(tk, &key), TERMKEY_RES_KEY, "getkey yields RES_KEY after Up"); @@ -60,15 +49,13 @@ int main(int argc, char *argv[]) is_int(key.code.sym, TERMKEY_SYM_UP, "key.code.sym after Up"); is_int(key.modifiers, 0, "key.modifiers after Up"); - write(fd[1], "\eO", 2); - termkey_advisereadable(tk); + is_int(termkey_push_bytes(tk, "\eO", 2), 2, "push_bytes returns 2"); is_int(termkey_get_buffer_remaining(tk), 254, "buffer free 254 after partial write"); is_int(termkey_getkey(tk, &key), TERMKEY_RES_AGAIN, "getkey yields RES_AGAIN after partial write"); - write(fd[1], "C", 1); - termkey_advisereadable(tk); + termkey_push_bytes(tk, "C", 1); is_int(termkey_getkey(tk, &key), TERMKEY_RES_KEY, "getkey yields RES_KEY after Right completion"); -- cgit v1.2.3