(root)/
Python-3.11.7/
Lib/
test/
curses_tests.py
       1  #!/usr/bin/env python3
       2  #
       3  # $Id: ncurses.py 36559 2004-07-18 05:56:09Z tim_one $
       4  #
       5  # Interactive test suite for the curses module.
       6  # This script displays various things and the user should verify whether
       7  # they display correctly.
       8  #
       9  
      10  import curses
      11  from curses import textpad
      12  
      13  def test_textpad(stdscr, insert_mode=False):
      14      ncols, nlines = 8, 3
      15      uly, ulx = 3, 2
      16      if insert_mode:
      17          mode = 'insert mode'
      18      else:
      19          mode = 'overwrite mode'
      20  
      21      stdscr.addstr(uly-3, ulx, "Use Ctrl-G to end editing (%s)." % mode)
      22      stdscr.addstr(uly-2, ulx, "Be sure to try typing in the lower-right corner.")
      23      win = curses.newwin(nlines, ncols, uly, ulx)
      24      textpad.rectangle(stdscr, uly-1, ulx-1, uly + nlines, ulx + ncols)
      25      stdscr.refresh()
      26  
      27      box = textpad.Textbox(win, insert_mode)
      28      contents = box.edit()
      29      stdscr.addstr(uly+ncols+2, 0, "Text entered in the box\n")
      30      stdscr.addstr(repr(contents))
      31      stdscr.addstr('\n')
      32      stdscr.addstr('Press any key')
      33      stdscr.getch()
      34  
      35      for i in range(3):
      36          stdscr.move(uly+ncols+2 + i, 0)
      37          stdscr.clrtoeol()
      38  
      39  def main(stdscr):
      40      stdscr.clear()
      41      test_textpad(stdscr, False)
      42      test_textpad(stdscr, True)
      43  
      44  
      45  if __name__ == '__main__':
      46      curses.wrapper(main)