mirror of
https://github.com/python/cpython.git
synced 2024-12-23 08:44:20 +08:00
b992a0e102
requires them. Disable executable bits and shebang lines in test and benchmark files in order to prevent using a random system python, and in source files of modules which don't provide command line interface. Fixed shebang line to use python3 executable in the unittestgui script.
47 lines
1.2 KiB
Python
Executable File
47 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
#
|
|
# $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)
|