move sections
[python/dscho.git] / Lib / test / curses_tests.py
blob7dedbbc937ef520a7c852449a72409106fb4cc48
1 #!/usr/bin/env python
3 # $Id: ncurses.py 36559 2004-07-18 05:56:09Z tim_one $
5 # Interactive test suite for the curses module.
6 # This script displays various things and the user should verify whether
7 # they display correctly.
10 import curses
11 from curses import textpad
13 def test_textpad(stdscr, insert_mode=False):
14 ncols, nlines = 8, 3
15 uly, ulx = 3, 2
16 if insert_mode:
17 mode = 'insert mode'
18 else:
19 mode = 'overwrite mode'
21 stdscr.addstr(uly-3, ulx, "Use Ctrl-G to end editing (%s)." % mode)
22 stdscr.addstr(uly-2, ulx, "Be sure to try typing in the lower-right corner.")
23 win = curses.newwin(nlines, ncols, uly, ulx)
24 textpad.rectangle(stdscr, uly-1, ulx-1, uly + nlines, ulx + ncols)
25 stdscr.refresh()
27 box = textpad.Textbox(win, insert_mode)
28 contents = box.edit()
29 stdscr.addstr(uly+ncols+2, 0, "Text entered in the box\n")
30 stdscr.addstr(repr(contents))
31 stdscr.addstr('\n')
32 stdscr.addstr('Press any key')
33 stdscr.getch()
35 for i in range(3):
36 stdscr.move(uly+ncols+2 + i, 0)
37 stdscr.clrtoeol()
39 def main(stdscr):
40 stdscr.clear()
41 test_textpad(stdscr, False)
42 test_textpad(stdscr, True)
45 if __name__ == '__main__':
46 curses.wrapper(main)