summaryrefslogtreecommitdiffstats
path: root/ncurses-5.3/test/firstlast.c
diff options
context:
space:
mode:
Diffstat (limited to 'ncurses-5.3/test/firstlast.c')
-rw-r--r--ncurses-5.3/test/firstlast.c90
1 files changed, 90 insertions, 0 deletions
diff --git a/ncurses-5.3/test/firstlast.c b/ncurses-5.3/test/firstlast.c
new file mode 100644
index 0000000..02c848e
--- /dev/null
+++ b/ncurses-5.3/test/firstlast.c
@@ -0,0 +1,90 @@
+/*
+ * This test was written by Alexander V. Lukyanov to demonstrate difference
+ * between ncurses 4.1 and SVR4 curses
+ *
+ * $Id$
+ */
+
+#include <test.priv.h>
+
+static void
+fill(WINDOW *w, const char *str)
+{
+ const char *s;
+ for (;;) {
+ for (s = str; *s; s++) {
+ if (waddch(w, *s) == ERR) {
+ wmove(w, 0, 0);
+ return;
+ }
+ }
+ }
+}
+
+int
+main(
+ int argc GCC_UNUSED,
+ char *argv[]GCC_UNUSED)
+{
+ WINDOW *large, *small;
+ initscr();
+ noecho();
+
+ large = newwin(20, 60, 2, 10);
+ small = newwin(10, 30, 7, 25);
+
+ /* test 1 - addch */
+ fill(large, "LargeWindow");
+
+ refresh();
+ wrefresh(large);
+ wrefresh(small);
+
+ mvwaddstr(small, 5, 5, " Test <place to change> String ");
+ wrefresh(small);
+ getch();
+
+ touchwin(large);
+ wrefresh(large);
+
+ mvwaddstr(small, 5, 5, " Test <***************> String ");
+ wrefresh(small);
+
+ /* DIFFERENCE! */
+ getch();
+
+ /* test 2: erase */
+ erase();
+ refresh();
+ getch();
+
+ /* test 3: clrtoeol */
+ werase(small);
+ wrefresh(small);
+ touchwin(large);
+ wrefresh(large);
+ wmove(small, 5, 0);
+ waddstr(small, " clrtoeol>");
+ wclrtoeol(small);
+ wrefresh(small);
+
+ /* DIFFERENCE! */ ;
+ getch();
+
+ /* test 4: clrtobot */
+ werase(small);
+ wrefresh(small);
+ touchwin(large);
+ wrefresh(large);
+ wmove(small, 5, 3);
+ waddstr(small, " clrtobot>");
+ wclrtobot(small);
+ wrefresh(small);
+
+ /* DIFFERENCE! */
+ getch();
+
+ endwin();
+
+ ExitProgram(EXIT_SUCCESS);
+}