[Python-checkins] r60120 - python/trunk/Lib/test/curses_tests.py

andrew.kuchling python-checkins at python.org
Sun Jan 20 01:12:19 CET 2008


Author: andrew.kuchling
Date: Sun Jan 20 01:12:19 2008
New Revision: 60120

Added:
   python/trunk/Lib/test/curses_tests.py
Log:
Add an interactive test script for exercising curses

Added: python/trunk/Lib/test/curses_tests.py
==============================================================================
--- (empty file)
+++ python/trunk/Lib/test/curses_tests.py	Sun Jan 20 01:12:19 2008
@@ -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)


More information about the Python-checkins mailing list