Home | History | Annotate | Download | only in test
      1 #!/usr/bin/env python3
      2 #
      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 
     10 import curses
     11 from curses import textpad
     12 
     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'
     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 
     39 def main(stdscr):
     40     stdscr.clear()
     41     test_textpad(stdscr, False)
     42     test_textpad(stdscr, True)
     43 
     44 
     45 if __name__ == '__main__':
     46     curses.wrapper(main)
     47