diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2008-01-20 00:12:19 (GMT) |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2008-01-20 00:12:19 (GMT) |
commit | 88fbcf82ab49d91dab416a6e3bbfb6bb535c86c1 (patch) | |
tree | eda5db0d7d136df128449f361b796ce7bcb513d7 | |
parent | 4a2762d146e2b19b981bd734827308c742d34c1a (diff) | |
download | cpython-88fbcf82ab49d91dab416a6e3bbfb6bb535c86c1.zip cpython-88fbcf82ab49d91dab416a6e3bbfb6bb535c86c1.tar.gz cpython-88fbcf82ab49d91dab416a6e3bbfb6bb535c86c1.tar.bz2 |
Add an interactive test script for exercising curses
-rw-r--r-- | Lib/test/curses_tests.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Lib/test/curses_tests.py b/Lib/test/curses_tests.py new file mode 100644 index 0000000..7dedbbc --- /dev/null +++ b/Lib/test/curses_tests.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# +# $Id: ncurses.py 36559 2004-07-18 05:56:09Z tim_one $ +# +# Interactive test suite for the curses module. +# This script displays various things and the user should verify whether +# they display correctly. +# + +import curses +from curses import textpad + +def test_textpad(stdscr, insert_mode=False): + ncols, nlines = 8, 3 + uly, ulx = 3, 2 + if insert_mode: + mode = 'insert mode' + else: + mode = 'overwrite mode' + + stdscr.addstr(uly-3, ulx, "Use Ctrl-G to end editing (%s)." % mode) + stdscr.addstr(uly-2, ulx, "Be sure to try typing in the lower-right corner.") + win = curses.newwin(nlines, ncols, uly, ulx) + textpad.rectangle(stdscr, uly-1, ulx-1, uly + nlines, ulx + ncols) + stdscr.refresh() + + box = textpad.Textbox(win, insert_mode) + contents = box.edit() + stdscr.addstr(uly+ncols+2, 0, "Text entered in the box\n") + stdscr.addstr(repr(contents)) + stdscr.addstr('\n') + stdscr.addstr('Press any key') + stdscr.getch() + + for i in range(3): + stdscr.move(uly+ncols+2 + i, 0) + stdscr.clrtoeol() + +def main(stdscr): + stdscr.clear() + test_textpad(stdscr, False) + test_textpad(stdscr, True) + + +if __name__ == '__main__': + curses.wrapper(main) |