Mercurial > cpython-lru_cache-weakref
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 |
| 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) |
