annotate Lib/test/curses_tests.py @ 79675:c0a2294de787 2.7

Issue #16199: Backport 2to3 typo fix from 3.2.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Thu, 11 Oct 2012 16:15:46 -0700
parents 816a7bdbf69e
children fcfe324663a6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
44806
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
1 #!/usr/bin/env python
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
2 #
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
3 # $Id: ncurses.py 36559 2004-07-18 05:56:09Z tim_one $
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
4 #
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
5 # Interactive test suite for the curses module.
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
6 # This script displays various things and the user should verify whether
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
7 # they display correctly.
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
8 #
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
9
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
10 import curses
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
11 from curses import textpad
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
12
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
13 def test_textpad(stdscr, insert_mode=False):
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
14 ncols, nlines = 8, 3
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
15 uly, ulx = 3, 2
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
16 if insert_mode:
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
17 mode = 'insert mode'
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
18 else:
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
19 mode = 'overwrite mode'
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
20
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
21 stdscr.addstr(uly-3, ulx, "Use Ctrl-G to end editing (%s)." % mode)
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
22 stdscr.addstr(uly-2, ulx, "Be sure to try typing in the lower-right corner.")
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
23 win = curses.newwin(nlines, ncols, uly, ulx)
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
24 textpad.rectangle(stdscr, uly-1, ulx-1, uly + nlines, ulx + ncols)
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
25 stdscr.refresh()
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
26
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
27 box = textpad.Textbox(win, insert_mode)
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
28 contents = box.edit()
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
29 stdscr.addstr(uly+ncols+2, 0, "Text entered in the box\n")
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
30 stdscr.addstr(repr(contents))
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
31 stdscr.addstr('\n')
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
32 stdscr.addstr('Press any key')
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
33 stdscr.getch()
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
34
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
35 for i in range(3):
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
36 stdscr.move(uly+ncols+2 + i, 0)
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
37 stdscr.clrtoeol()
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
38
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
39 def main(stdscr):
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
40 stdscr.clear()
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
41 test_textpad(stdscr, False)
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
42 test_textpad(stdscr, True)
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
43
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
44
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
45 if __name__ == '__main__':
816a7bdbf69e Add an interactive test script for exercising curses
Andrew M. Kuchling <amk@amk.ca>
parents:
diff changeset
46 curses.wrapper(main)