From 6947a5feb7c21c454eb1f297cc0b792e21b564c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Tom=C3=A1s?= Date: Thu, 23 Apr 2020 06:34:01 -0300 Subject: Update tests Testing pages and points are now separate. --- test/page.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 test/page.c (limited to 'test/page.c') diff --git a/test/page.c b/test/page.c new file mode 100644 index 0000000..f558fc6 --- /dev/null +++ b/test/page.c @@ -0,0 +1,48 @@ +#include + +#define PAGE_SIZE 32 +#include "../page.c" + +int main() { + int exit = 0; + struct page *page = new_page(); + + initscr(); + cbreak(); + noecho(); + nonl(); + intrflush(stdscr, FALSE); + keypad(stdscr, TRUE); + + while (!exit) { + clear(); + + for (int i = 0; i < page->gap_start; i++) { + addch(page->elements[i]); + } + for (int i = page->gap_start; i < page->gap_end; i++) { + addch('.'); + } + for (int i = page->gap_end; i < PAGE_SIZE; i++) { + addch(page->elements[i]); + } + + int input = getch(); + switch (input) { + case KEY_LEFT: + move_gap_backward(page); + break; + case KEY_RIGHT: + move_gap_forward(page); + break; + case KEY_BACKSPACE: + delete_at_gap(page); + break; + default: + insert_at_gap(page, input); + } + } + + endwin(); + return 0; +} -- cgit v1.2.3