[3.14] gh-151693: Add curses tests for panels, textpad, and window behavior (GH-151694) (GH-151720)
Add curses tests for panels, textpad, and window behavior
Extend test_curses with behavior-verifying tests that go beyond the
existing smoke tests:
* curses.panel stacking: new_panel/top/bottom/above/below ordering,
hide/show/hidden, move, replace and userptr round-trip.
* Real-window curses.textpad.Textbox: gather(), edit(), stripspaces,
insert mode and the Emacs-like editing commands (previously only
exercised through a MagicMock).
* Window output: addstr cursor advance and addnstr truncation,
insstr/insnstr shifting without cursor movement, and pad behavior
(instr, subpad cell sharing, the required 6-argument refresh()).
* Error handling: out-of-range coordinates raising curses.error and
bad character/string argument types.
(cherry picked from commit
b4cfb992ed3a28b8cd626f70e3550ac8dbec1758)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>