blob: 40e832dec251d5144d55012d89e9ddf128c15be6 [file] [log] [blame]
Benjamin Peterson90f5ba52010-03-11 22:53:45 +00001#!/usr/bin/env python3
Christian Heimesfdab48e2008-01-20 09:06:41 +00002#
3# $Id: ncurses.py 36559 2004-07-18 05:56:09Z tim_one $
4#
5# Interactive test suite for the curses module.
6# This script displays various things and the user should verify whether
7# they display correctly.
8#
9
10import curses
11from curses import textpad
12
13def 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'
20
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()
26
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()
34
35 for i in range(3):
36 stdscr.move(uly+ncols+2 + i, 0)
37 stdscr.clrtoeol()
38
39def main(stdscr):
40 stdscr.clear()
41 test_textpad(stdscr, False)
42 test_textpad(stdscr, True)
43
44
45if __name__ == '__main__':
46 curses.wrapper(main)