mirror of
https://github.com/python/cpython.git
synced 2025-11-24 20:30:18 +00:00
Add an interactive test script for exercising curses
This commit is contained in:
parent
4a2762d146
commit
88fbcf82ab
1 changed files with 46 additions and 0 deletions
46
Lib/test/curses_tests.py
Normal file
46
Lib/test/curses_tests.py
Normal file
|
|
@ -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)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue