PageRenderTime 204ms CodeModel.GetById 100ms app.highlight 5ms RepoModel.GetById 96ms app.codeStats 0ms

/Lib/test/curses_tests.py

http://unladen-swallow.googlecode.com/
Python | 46 lines | 30 code | 8 blank | 8 comment | 4 complexity | 76a0aa5de5be523fef26b6aa0b097f5c MD5 | raw file
 1#!/usr/bin/env python
 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
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)