X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Ftest_opaque.c;h=8e19a8c29cc403ab143d46185152774c8fa6f82f;hp=bb7a6b0afc05c9f9d7e264682c44dfe756da920f;hb=9b4c4abadc0a29999c5ddad5aa8d769fee28d687;hpb=25358bc041a5566ce2de4c9c792837e552b35671 diff --git a/test/test_opaque.c b/test/test_opaque.c index bb7a6b0a..8e19a8c2 100644 --- a/test/test_opaque.c +++ b/test/test_opaque.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 2007,2008 Free Software Foundation, Inc. * + * Copyright 2020 Thomas E. Dickey * + * Copyright 2007-2008,2009 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -26,7 +27,7 @@ * authorization. * ****************************************************************************/ /* - * $Id: test_opaque.c,v 1.5 2008/01/19 21:01:36 tom Exp $ + * $Id: test_opaque.c,v 1.10 2020/02/02 23:34:34 tom Exp $ * * Author: Thomas E Dickey * @@ -51,7 +52,7 @@ #define BASE_Y 6 #define MAX_COLS 1024 -#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20070818) && NCURSES_EXT_FUNCS +#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20080119) && NCURSES_EXT_FUNCS static bool Quit(int ch) @@ -185,10 +186,10 @@ show_keyword(WINDOW *stswin, int cell, int active, const char *name) { to_keyword(stswin, cell); if (active == cell) - wstandout(stswin); + (void) wstandout(stswin); wprintw(stswin, "%s:", name); if (active == cell) - wstandend(stswin); + (void) wstandend(stswin); } /* *INDENT-OFF* */ static struct { @@ -231,7 +232,7 @@ show_opaque(WINDOW *stswin, WINDOW *txtwin, bool before, int active) show_keyword(stswin, n, active, "wgetparent"); to_result(stswin, n, TRUE); - wprintw(stswin, "%p", wgetparent(txtwin)); + wprintw(stswin, "%p", (void *) wgetparent(txtwin)); ++n; show_keyword(stswin, n, active, "wgetscrreg"); @@ -394,6 +395,43 @@ test_opaque(int level, char **argv, WINDOW *stswin) return TRUE; } +static void +test_set_escdelay(void) +{ + set_escdelay((100 + ESCDELAY) / 2); +} + +static void +test_set_tabsize(void) +{ + int y0, x0; + int y, x; + int save_tabsize = TABSIZE; + + (void) cbreak(); /* take input chars one at a time, no wait for \n */ + (void) noecho(); /* don't echo input */ + + for (y = 0; y < LINES; ++y) { + set_tabsize(y + 1); + if (move(y, 0) == ERR) + break; + for (x = 0; x < COLS;) { + addch('\t'); + if (addch('*') == ERR) { + break; + } + getyx(stdscr, y0, x0); + if (y0 != y || x0 == x) { + break; + } + } + } + getch(); + erase(); + + set_tabsize(save_tabsize); +} + int main(int argc, char *argv[]) { @@ -409,6 +447,9 @@ main(int argc, char *argv[]) initscr(); + test_set_escdelay(); + test_set_tabsize(); + stsbox = derwin(stdscr, BASE_Y, COLS, 0, 0); box(stsbox, 0, 0); wnoutrefresh(stsbox);