Module Name: src
Committed By: blymn
Date: Sun May 26 09:54:33 UTC 2019
Modified Files:
src/tests/lib/libcurses: t_curses.sh
src/tests/lib/libcurses/check_files: Makefile
src/tests/lib/libcurses/tests: Makefile addchstr beep getstr
Added Files:
src/tests/lib/libcurses/check_files: add_wch1.chk add_wch2.chk
addchstr2.chk bkgdset1.chk delay_output.chk delch1.chk delch2.chk
delch3.chk delch4.chk delch5.chk deleteln1.chk deleteln2.chk
deleteln3.chk deleteln4.chk deleteln5.chk deleteln6.chk delwin1.chk
delwin2.chk derwin1.chk derwin2.chk doupdate.chk dupwin1.chk
dupwin2.chk fill_screen_numbers.chk fill_window_numbers.chk
flash.chk hline.chk insch.chk meta1.chk meta2.chk mutt_test1.chk
mutt_test2.chk mutt_test3.chk mutt_test4.chk mutt_test5.chk
mutt_test6.chk mutt_test7.chk mutt_test8.chk mutt_test9.chk
mvaddch.chk mvaddchnstr.chk mvaddchnstr2.chk mvaddchstr.chk
mvaddnstr.chk mvaddnstr2.chk mvaddstr.chk mvaddstr2.chk mvchgat.chk
mvchgat2.chk mvcur.chk mvderwin1.chk mvderwin2.chk mvgetnstr1.chk
mvgetnstr2.chk mvgetnstr3.chk mvgetnstr4.chk mvgetstr1.chk
mvgetstr2.chk mvgetstr3.chk mvprintw.chk mvvline1.chk mvvline2.chk
mvvline3.chk pad1.chk pad2.chk pad3.chk touchline1.chk
src/tests/lib/libcurses/tests: add_wch bkgdset define_key delay_output
delch deleteln delwin derwin doupdate dupwin echo erasechar
fill_screen_numbers fill_window_numbers flash getattrs getbegx
getbegy getbkgd getcap getcurx getmaxx getmaxy getnstr getparx
has_colors has_ic hline inch inchnstr init_color innstr insch
is_linetouched is_wintouched keyname keyok killchar meta mutt_test
mvaddch mvaddchnstr mvaddchstr mvaddnstr mvaddstr mvchgat mvcur
mvderwin mvgetnstr mvgetstr mvhline mvinchnstr mvprintw mvscanw
mvvline nocbreak nodelay pad touchline
Log Message:
Add more tests for curses
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/tests/lib/libcurses/t_curses.sh
cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libcurses/check_files/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/lib/libcurses/check_files/add_wch1.chk \
src/tests/lib/libcurses/check_files/add_wch2.chk \
src/tests/lib/libcurses/check_files/addchstr2.chk \
src/tests/lib/libcurses/check_files/bkgdset1.chk \
src/tests/lib/libcurses/check_files/delay_output.chk \
src/tests/lib/libcurses/check_files/delch1.chk \
src/tests/lib/libcurses/check_files/delch2.chk \
src/tests/lib/libcurses/check_files/delch3.chk \
src/tests/lib/libcurses/check_files/delch4.chk \
src/tests/lib/libcurses/check_files/delch5.chk \
src/tests/lib/libcurses/check_files/deleteln1.chk \
src/tests/lib/libcurses/check_files/deleteln2.chk \
src/tests/lib/libcurses/check_files/deleteln3.chk \
src/tests/lib/libcurses/check_files/deleteln4.chk \
src/tests/lib/libcurses/check_files/deleteln5.chk \
src/tests/lib/libcurses/check_files/deleteln6.chk \
src/tests/lib/libcurses/check_files/delwin1.chk \
src/tests/lib/libcurses/check_files/delwin2.chk \
src/tests/lib/libcurses/check_files/derwin1.chk \
src/tests/lib/libcurses/check_files/derwin2.chk \
src/tests/lib/libcurses/check_files/doupdate.chk \
src/tests/lib/libcurses/check_files/dupwin1.chk \
src/tests/lib/libcurses/check_files/dupwin2.chk \
src/tests/lib/libcurses/check_files/fill_screen_numbers.chk \
src/tests/lib/libcurses/check_files/fill_window_numbers.chk \
src/tests/lib/libcurses/check_files/flash.chk \
src/tests/lib/libcurses/check_files/hline.chk \
src/tests/lib/libcurses/check_files/insch.chk \
src/tests/lib/libcurses/check_files/meta1.chk \
src/tests/lib/libcurses/check_files/meta2.chk \
src/tests/lib/libcurses/check_files/mutt_test1.chk \
src/tests/lib/libcurses/check_files/mutt_test2.chk \
src/tests/lib/libcurses/check_files/mutt_test3.chk \
src/tests/lib/libcurses/check_files/mutt_test4.chk \
src/tests/lib/libcurses/check_files/mutt_test5.chk \
src/tests/lib/libcurses/check_files/mutt_test6.chk \
src/tests/lib/libcurses/check_files/mutt_test7.chk \
src/tests/lib/libcurses/check_files/mutt_test8.chk \
src/tests/lib/libcurses/check_files/mutt_test9.chk \
src/tests/lib/libcurses/check_files/mvaddch.chk \
src/tests/lib/libcurses/check_files/mvaddchnstr.chk \
src/tests/lib/libcurses/check_files/mvaddchnstr2.chk \
src/tests/lib/libcurses/check_files/mvaddchstr.chk \
src/tests/lib/libcurses/check_files/mvaddnstr.chk \
src/tests/lib/libcurses/check_files/mvaddnstr2.chk \
src/tests/lib/libcurses/check_files/mvaddstr.chk \
src/tests/lib/libcurses/check_files/mvaddstr2.chk \
src/tests/lib/libcurses/check_files/mvchgat.chk \
src/tests/lib/libcurses/check_files/mvchgat2.chk \
src/tests/lib/libcurses/check_files/mvcur.chk \
src/tests/lib/libcurses/check_files/mvderwin1.chk \
src/tests/lib/libcurses/check_files/mvderwin2.chk \
src/tests/lib/libcurses/check_files/mvgetnstr1.chk \
src/tests/lib/libcurses/check_files/mvgetnstr2.chk \
src/tests/lib/libcurses/check_files/mvgetnstr3.chk \
src/tests/lib/libcurses/check_files/mvgetnstr4.chk \
src/tests/lib/libcurses/check_files/mvgetstr1.chk \
src/tests/lib/libcurses/check_files/mvgetstr2.chk \
src/tests/lib/libcurses/check_files/mvgetstr3.chk \
src/tests/lib/libcurses/check_files/mvprintw.chk \
src/tests/lib/libcurses/check_files/mvvline1.chk \
src/tests/lib/libcurses/check_files/mvvline2.chk \
src/tests/lib/libcurses/check_files/mvvline3.chk \
src/tests/lib/libcurses/check_files/pad1.chk \
src/tests/lib/libcurses/check_files/pad2.chk \
src/tests/lib/libcurses/check_files/pad3.chk \
src/tests/lib/libcurses/check_files/touchline1.chk
cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libcurses/tests/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/lib/libcurses/tests/add_wch \
src/tests/lib/libcurses/tests/bkgdset \
src/tests/lib/libcurses/tests/define_key \
src/tests/lib/libcurses/tests/delay_output \
src/tests/lib/libcurses/tests/delch \
src/tests/lib/libcurses/tests/deleteln \
src/tests/lib/libcurses/tests/delwin src/tests/lib/libcurses/tests/derwin \
src/tests/lib/libcurses/tests/doupdate \
src/tests/lib/libcurses/tests/dupwin src/tests/lib/libcurses/tests/echo \
src/tests/lib/libcurses/tests/erasechar \
src/tests/lib/libcurses/tests/fill_screen_numbers \
src/tests/lib/libcurses/tests/fill_window_numbers \
src/tests/lib/libcurses/tests/flash \
src/tests/lib/libcurses/tests/getattrs \
src/tests/lib/libcurses/tests/getbegx \
src/tests/lib/libcurses/tests/getbegy \
src/tests/lib/libcurses/tests/getbkgd \
src/tests/lib/libcurses/tests/getcap \
src/tests/lib/libcurses/tests/getcurx \
src/tests/lib/libcurses/tests/getmaxx \
src/tests/lib/libcurses/tests/getmaxy \
src/tests/lib/libcurses/tests/getnstr \
src/tests/lib/libcurses/tests/getparx \
src/tests/lib/libcurses/tests/has_colors \
src/tests/lib/libcurses/tests/has_ic src/tests/lib/libcurses/tests/hline \
src/tests/lib/libcurses/tests/inch src/tests/lib/libcurses/tests/inchnstr \
src/tests/lib/libcurses/tests/init_color \
src/tests/lib/libcurses/tests/innstr src/tests/lib/libcurses/tests/insch \
src/tests/lib/libcurses/tests/is_linetouched \
src/tests/lib/libcurses/tests/is_wintouched \
src/tests/lib/libcurses/tests/keyname src/tests/lib/libcurses/tests/keyok \
src/tests/lib/libcurses/tests/killchar src/tests/lib/libcurses/tests/meta \
src/tests/lib/libcurses/tests/mutt_test \
src/tests/lib/libcurses/tests/mvaddch \
src/tests/lib/libcurses/tests/mvaddchnstr \
src/tests/lib/libcurses/tests/mvaddchstr \
src/tests/lib/libcurses/tests/mvaddnstr \
src/tests/lib/libcurses/tests/mvaddstr \
src/tests/lib/libcurses/tests/mvchgat src/tests/lib/libcurses/tests/mvcur \
src/tests/lib/libcurses/tests/mvderwin \
src/tests/lib/libcurses/tests/mvgetnstr \
src/tests/lib/libcurses/tests/mvgetstr \
src/tests/lib/libcurses/tests/mvhline \
src/tests/lib/libcurses/tests/mvinchnstr \
src/tests/lib/libcurses/tests/mvprintw \
src/tests/lib/libcurses/tests/mvscanw \
src/tests/lib/libcurses/tests/mvvline \
src/tests/lib/libcurses/tests/nocbreak \
src/tests/lib/libcurses/tests/nodelay src/tests/lib/libcurses/tests/pad \
src/tests/lib/libcurses/tests/touchline
cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libcurses/tests/addchstr \
src/tests/lib/libcurses/tests/beep src/tests/lib/libcurses/tests/getstr
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/lib/libcurses/t_curses.sh
diff -u src/tests/lib/libcurses/t_curses.sh:1.8 src/tests/lib/libcurses/t_curses.sh:1.9
--- src/tests/lib/libcurses/t_curses.sh:1.8 Thu Sep 15 11:36:43 2011
+++ src/tests/lib/libcurses/t_curses.sh Sun May 26 09:54:32 2019
@@ -233,6 +233,16 @@ cbreak_body()
h_run cbreak
}
+atf_test_case chgat
+chgat_head()
+{
+ atf_set "descr" "Check changing attributes works"
+}
+chgat_body()
+{
+ h_run chgat
+}
+
atf_test_case clear
clear_head()
{
@@ -263,6 +273,466 @@ curs_set_body()
h_run curs_set
}
+atf_test_case define_key
+define_key_head()
+{
+ atf_set "descr" "Check defining a key and removing the definition works"
+}
+define_key_body()
+{
+ h_run define_key
+}
+
+atf_test_case delay_output
+delay_output_head()
+{
+ atf_set "descr" "Check that padding is inserted when delaying output"
+}
+delay_output_body()
+{
+ h_run delay_output
+}
+
+atf_test_case derwin
+derwin_head()
+{
+ atf_set "descr" "Check derived subwindow creation behaves correctly."
+}
+derwin_body()
+{
+ h_run derwin
+}
+
+atf_test_case doupdate
+doupdate_head()
+{
+ atf_set "descr" "Check doupdate performs an update"
+}
+doupdate_body()
+{
+ h_run doupdate
+}
+
+atf_test_case dupwin
+dupwin_head()
+{
+ atf_set "descr" "Check duplicating a window works"
+}
+dupwin_body()
+{
+ h_run dupwin
+}
+
+atf_test_case erasechar
+erasechar_head()
+{
+ atf_set "descr" "Validate erase char can be retrieved"
+}
+erasechar_body()
+{
+ h_run erasechar
+}
+
+atf_test_case flash
+flash_head()
+{
+ atf_set "descr" "Validate curses can flash the screen"
+}
+flash_body()
+{
+ h_run flash
+}
+
+atf_test_case getattrs
+getattrs_head()
+{
+ atf_set "descr" "Validate curses can get and set attributes on a window"
+}
+getattrs_body()
+{
+ h_run getattrs
+}
+
+atf_test_case bkgdset
+bkgdset_head()
+{
+ atf_set "descr" "Validate curses set the background attributes on stdscr"
+}
+bkgdset_body()
+{
+ h_run bkgdset
+}
+
+atf_test_case getbkgd
+getbkgd_head()
+{
+ atf_set "descr" "Validate curses getting the background attributes on stdscr"
+}
+getbkgd_body()
+{
+ h_run getbkgd
+}
+
+atf_test_case getcurx
+getcurx_head()
+{
+ atf_set "descr" "Validate curses getting cursor locations in a window"
+}
+getcurx_body()
+{
+ h_run getcurx
+}
+
+atf_test_case getmaxx
+getmaxx_head()
+{
+ atf_set "descr" "Validate curses getting the maximum x value of a window"
+}
+getmaxx_body()
+{
+ h_run getmaxx
+}
+
+atf_test_case getmaxy
+getmaxy_head()
+{
+ atf_set "descr" "Validate curses getting the maximum y value of a window"
+}
+getmaxy_body()
+{
+ h_run getmaxy
+}
+
+atf_test_case getnstr
+getnstr_head()
+{
+ atf_set "descr" "Check getting a string with a limit"
+}
+getnstr_body()
+{
+ h_run getnstr
+}
+
+atf_test_case getparx
+getparx_head()
+{
+ atf_set "descr" "Check getting the location of a window relative to its parent"
+}
+getparx_body()
+{
+ h_run getparx
+}
+
+atf_test_case has_colors
+has_colors_head()
+{
+ atf_set "descr" "Check if the terminal can support colours"
+}
+has_colors_body()
+{
+ h_run has_colors
+}
+
+atf_test_case has_ic
+has_ic_head()
+{
+ atf_set "descr" "Check if the terminal can insert characters and lines"
+}
+has_ic_body()
+{
+ h_run has_ic
+}
+
+atf_test_case hline
+hline_head()
+{
+ atf_set "descr" "Draw a horizontal line"
+}
+hline_body()
+{
+ h_run hline
+}
+
+atf_test_case inch
+inch_head()
+{
+ atf_set "descr" "Get the character under the cursor on stdscr"
+}
+inch_body()
+{
+ h_run inch
+}
+
+atf_test_case inchnstr
+inchnstr_head()
+{
+ atf_set "descr" "Get a limited chtype string from the screen"
+}
+inchnstr_body()
+{
+ h_run inchnstr
+}
+
+atf_test_case init_color
+init_color_head()
+{
+ atf_set "descr" "Set a custom color entry"
+}
+init_color_body()
+{
+ h_run init_color
+}
+
+atf_test_case innstr
+innstr_head()
+{
+ atf_set "descr" "Get a limited string starting at the cursor"
+}
+innstr_body()
+{
+ h_run innstr
+}
+
+atf_test_case is_linetouched
+is_linetouched_head()
+{
+ atf_set "descr" "Check if a line has been modified in a window"
+}
+is_linetouched_body()
+{
+ h_run is_linetouched
+}
+
+atf_test_case is_wintouched
+is_wintouched_head()
+{
+ atf_set "descr" "Check if a window has been modified"
+}
+is_wintouched_body()
+{
+ h_run is_wintouched
+}
+
+atf_test_case keyname
+keyname_head()
+{
+ atf_set "descr" "Convert integers into printable key names"
+}
+keyname_body()
+{
+ h_run keyname
+}
+
+atf_test_case keyok
+keyok_head()
+{
+ atf_set "descr" "Check the ability to disable interpretation of a multichar key sequence"
+}
+keyok_body()
+{
+ h_run keyok
+}
+
+atf_test_case killchar
+killchar_head()
+{
+ atf_set "descr" "Get the value of the terminals kill character"
+}
+killchar_body()
+{
+ h_run killchar
+}
+
+atf_test_case meta
+meta_head()
+{
+ atf_set "descr" "Check setting and clearing the meta flag on a window"
+}
+meta_body()
+{
+ h_run meta
+}
+
+atf_test_case mvaddch
+mvaddch_head()
+{
+ atf_set "descr" "Move the cursor and add a character to stdscr"
+}
+mvaddch_body()
+{
+ h_run mvaddch
+}
+
+atf_test_case mvaddchnstr
+mvaddchnstr_head()
+{
+ atf_set "descr" "Move the cursor and add a character string to stdscr"
+}
+mvaddchnstr_body()
+{
+ h_run mvaddchnstr
+}
+
+atf_test_case mvaddchstr
+mvaddchstr_head()
+{
+ atf_set "descr" "Move the cursor and add a ch string to stdscr"
+}
+mvaddchstr_body()
+{
+ h_run mvaddchstr
+}
+
+atf_test_case mvaddnstr
+mvaddnstr_head()
+{
+ atf_set "descr" "Move the cursor and add a limited string to stdscr"
+}
+mvaddnstr_body()
+{
+ h_run mvaddnstr
+}
+
+atf_test_case mvaddstr
+mvaddstr_head()
+{
+ atf_set "descr" "Move the cursor and add a string to stdscr"
+}
+mvaddstr_body()
+{
+ h_run mvaddstr
+}
+
+atf_test_case mvchgat
+mvchgat_head()
+{
+ atf_set "descr" "Change the attributes on the screen"
+}
+mvchgat_body()
+{
+ h_run mvchgat
+}
+
+atf_test_case mvcur
+mvcur_head()
+{
+ atf_set "descr" "Move the cursor on the screen"
+}
+mvcur_body()
+{
+ h_run mvcur
+}
+
+atf_test_case mvderwin
+mvderwin_head()
+{
+ atf_set "descr" "Move the mapping of a region relative to the parent"
+}
+mvderwin_body()
+{
+ h_run mvderwin
+}
+
+atf_test_case mvgetnstr
+mvgetnstr_head()
+{
+ atf_set "descr" "Move the cursor and get a limited number of characters"
+}
+mvgetnstr_body()
+{
+ h_run mvgetnstr
+}
+
+atf_test_case mvgetstr
+mvgetstr_head()
+{
+ atf_set "descr" "Move the cursor and get characters"
+}
+mvgetstr_body()
+{
+ h_run mvgetstr
+}
+
+atf_test_case mvhline
+mvhline_head()
+{
+ atf_set "descr" "Move the cursor and draw a horizontal line"
+}
+mvhline_body()
+{
+ h_run mvhline
+}
+
+atf_test_case mvinchnstr
+mvinchnstr_head()
+{
+ atf_set "descr" "Move the cursor read characters - tests both mvinchstr and mvinchnstr"
+}
+mvinchnstr_body()
+{
+ h_run mvinchnstr
+}
+
+atf_test_case mvprintw
+mvprintw_head()
+{
+ atf_set "descr" "Move the cursor and print a string"
+}
+mvprintw_body()
+{
+ h_run mvprintw
+}
+
+atf_test_case mvscanw
+mvscanw_head()
+{
+ atf_set "descr" "Move the cursor and scan for input patterns"
+}
+mvscanw_body()
+{
+ h_run mvscanw
+}
+
+atf_test_case mvvline
+mvvline_head()
+{
+ atf_set "descr" "Move the cursor and draw a vertical line"
+}
+mvvline_body()
+{
+ h_run mvvline
+}
+
+atf_test_case pad
+pad_head()
+{
+ atf_set "descr" "Test the newpad, subpad, pnoutrefresh and prefresh functions"
+}
+pad_body()
+{
+ h_run pad
+}
+
+atf_test_case nocbreak
+nocbreak_head()
+{
+ atf_set "descr" "Test that the nocbreak call returns the terminal to canonical character processing"
+}
+nocbreak_body()
+{
+ h_run nocbreak
+}
+
+atf_test_case nodelay
+nodelay_head()
+{
+ atf_set "descr" "Test that the nodelay call causes wget to not block"
+}
+nodelay_body()
+{
+ h_run nodelay
+}
+
atf_init_test_cases()
{
atf_add_test_case startup
@@ -287,8 +757,55 @@ atf_init_test_cases()
# atf_add_test_case beep # comment out for now - return is wrong
atf_add_test_case background
atf_add_test_case cbreak
+ atf_add_test_case chgat
atf_add_test_case clear
atf_add_test_case copywin
atf_add_test_case curs_set
+ atf_add_test_case define_key
+# atf_add_test_case delay_output # not working
+# atf_add_test_case derwin # not working
+ atf_add_test_case doupdate
+# atf_add_test_case dupwin # not working
+ atf_add_test_case erasechar
+ atf_add_test_case flash
+ atf_add_test_case getattrs
+ atf_add_test_case bkgdset
+ atf_add_test_case getbkgd
+ atf_add_test_case getcurx
+ atf_add_test_case getmaxx
+ atf_add_test_case getmaxy
+ atf_add_test_case getnstr
+ atf_add_test_case getparx
+ atf_add_test_case has_colors
+ atf_add_test_case has_ic
+ atf_add_test_case hline
+ atf_add_test_case inch
+ atf_add_test_case inchnstr
+ atf_add_test_case init_color
+ atf_add_test_case innstr
+ atf_add_test_case is_linetouched
+ atf_add_test_case is_wintouched
+# atf_add_test_case keyname # not working
+ atf_add_test_case keyok
+ atf_add_test_case killchar
+ atf_add_test_case meta
+ atf_add_test_case mvaddch
+ atf_add_test_case mvaddchnstr
+ atf_add_test_case mvaddchstr
+ atf_add_test_case mvaddnstr
+ atf_add_test_case mvaddstr
+ atf_add_test_case mvchgat
+ atf_add_test_case mvcur
+ atf_add_test_case mvderwin
+ atf_add_test_case mvgetnstr
+ atf_add_test_case mvgetstr
+ atf_add_test_case mvhline
+ atf_add_test_case mvinchnstr
+ atf_add_test_case mvprintw
+# atf_add_test_case mvscanw # not working
+ atf_add_test_case mvvline
+# atf_add_test_case pad # not working
+ atf_add_test_case nocbreak
+ atf_add_test_case nodelay
}
Index: src/tests/lib/libcurses/check_files/Makefile
diff -u src/tests/lib/libcurses/check_files/Makefile:1.2 src/tests/lib/libcurses/check_files/Makefile:1.3
--- src/tests/lib/libcurses/check_files/Makefile:1.2 Thu Sep 8 18:44:38 2011
+++ src/tests/lib/libcurses/check_files/Makefile Sun May 26 09:54:33 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2011/09/08 18:44:38 jmmv Exp $
+# $NetBSD: Makefile,v 1.3 2019/05/26 09:54:33 blymn Exp $
NOMAN= # defined
@@ -10,8 +10,11 @@ TESTSDIR= ${TESTSBASE}/lib/libcurses
FILESDIR= ${TESTSDIR}/check_files
FILES= curses_start.chk
+FILES+= add_wch1.chk
+FILES+= add_wch2.chk
FILES+= addch.chk
FILES+= addchstr.chk
+FILES+= addchstr2.chk
FILES+= addstr.chk
FILES+= attributes.chk
FILES+= bell.chk
@@ -20,6 +23,7 @@ FILES+= background2.chk
FILES+= background3.chk
FILES+= background4.chk
FILES+= background5.chk
+FILES+= bkgdset1.chk
FILES+= chgat1.chk
FILES+= chgat2.chk
FILES+= chgat3.chk
@@ -56,9 +60,70 @@ FILES+= copywin14.chk
FILES+= curs_set1.chk
FILES+= curs_set2.chk
FILES+= curs_set3.chk
+FILES+= delay_output.chk
+FILES+= delch1.chk
+FILES+= delch2.chk
+FILES+= delch3.chk
+FILES+= delch4.chk
+FILES+= delch5.chk
+FILES+= deleteln1.chk
+FILES+= deleteln2.chk
+FILES+= deleteln3.chk
+FILES+= deleteln4.chk
+FILES+= deleteln5.chk
+FILES+= deleteln6.chk
+FILES+= delwin1.chk
+FILES+= delwin2.chk
+FILES+= derwin1.chk
+FILES+= derwin2.chk
+FILES+= doupdate.chk
+FILES+= dupwin1.chk
+FILES+= dupwin2.chk
FILES+= fill.chk
+FILES+= flash.chk
+FILES+= hline.chk
+FILES+= insch.chk
FILES+= home.chk
+FILES+= meta1.chk
+FILES+= meta2.chk
+FILES+= mutt_test1.chk
+FILES+= mutt_test2.chk
+FILES+= mutt_test3.chk
+FILES+= mutt_test4.chk
+FILES+= mutt_test5.chk
+FILES+= mutt_test6.chk
+FILES+= mutt_test7.chk
+FILES+= mutt_test8.chk
+FILES+= mutt_test9.chk
+FILES+= mvaddch.chk
+FILES+= mvaddchnstr.chk
+FILES+= mvaddchnstr2.chk
+FILES+= mvaddchstr.chk
+FILES+= mvaddnstr.chk
+FILES+= mvaddnstr2.chk
+FILES+= mvaddstr.chk
+FILES+= mvaddstr2.chk
+FILES+= mvchgat.chk
+FILES+= mvchgat2.chk
+FILES+= mvcur.chk
+FILES+= mvderwin1.chk
+FILES+= mvderwin2.chk
+FILES+= mvgetnstr1.chk
+FILES+= mvgetnstr2.chk
+FILES+= mvgetnstr3.chk
+FILES+= mvgetnstr4.chk
+FILES+= mvgetstr1.chk
+FILES+= mvgetstr2.chk
+FILES+= mvgetstr3.chk
+FILES+= mvprintw.chk
+FILES+= mvvline1.chk
+FILES+= mvvline2.chk
+FILES+= mvvline3.chk
+FILES+= pad1.chk
+FILES+= pad2.chk
+FILES+= pad3.chk
FILES+= timeout.chk
+FILES+= touchline1.chk
FILES+= box_standout.chk
FILES+= wborder.chk
FILES+= wborder_refresh.chk
@@ -68,6 +133,8 @@ FILES+= wscrl2.chk
FILES+= wgetstr.chk
FILES+= wgetstr_refresh.chk
FILES+= wprintw_refresh.chk
+FILES+= fill_screen_numbers.chk
+FILES+= fill_window_numbers.chk
CLEANFILES=
Index: src/tests/lib/libcurses/tests/Makefile
diff -u src/tests/lib/libcurses/tests/Makefile:1.2 src/tests/lib/libcurses/tests/Makefile:1.3
--- src/tests/lib/libcurses/tests/Makefile:1.2 Thu Sep 8 18:44:38 2011
+++ src/tests/lib/libcurses/tests/Makefile Sun May 26 09:54:33 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2011/09/08 18:44:38 jmmv Exp $
+# $NetBSD: Makefile,v 1.3 2019/05/26 09:54:33 blymn Exp $
NOMAN= # defined
@@ -13,22 +13,79 @@ FILES= start
FILES+= std_defines
FILES+= attributes
FILES+= addch
+FILES+= add_wch
FILES+= addchstr
FILES+= addchnstr
FILES+= addstr
FILES+= addnstr
FILES+= beep
FILES+= background
+FILES+= bkgdset
FILES+= can_change_color
FILES+= cbreak
FILES+= color_set
FILES+= copywin
FILES+= curs_set
+FILES+= define_key
+FILES+= delay_output
+FILES+= delch
+FILES+= deleteln
+FILES+= delwin
+FILES+= derwin
+FILES+= doupdate
+FILES+= dupwin
+FILES+= echo
+FILES+= erasechar
+FILES+= flash
+FILES+= getattrs
+FILES+= getbegx
+FILES+= getbegy
+FILES+= getbkgd
+FILES+= getcap
FILES+= getch
+FILES+= getcurx
+FILES+= getmaxx
+FILES+= getmaxy
+FILES+= getnstr
+FILES+= getparx
+FILES+= getstr
+FILES+= has_colors
+FILES+= has_ic
+FILES+= hline
+FILES+= inch
+FILES+= inchnstr
+FILES+= init_color
+FILES+= innstr
+FILES+= insch
+FILES+= is_linetouched
+FILES+= is_wintouched
+FILES+= keyname
+FILES+= keyok
+FILES+= killchar
+FILES+= meta
+FILES+= mutt_test
+FILES+= mvaddch
+FILES+= mvaddchnstr
+FILES+= mvaddchstr
+FILES+= mvaddnstr
+FILES+= mvaddstr
+FILES+= mvchgat
+FILES+= mvcur
+FILES+= mvgetnstr
+FILES+= mvgetstr
+FILES+= mvhline
+FILES+= mvinchnstr
+FILES+= mvprintw
+FILES+= mvscanw
+FILES+= mvvline
+FILES+= nocbreak
+FILES+= nodelay
+FILES+= pad
FILES+= start_color
FILES+= assume_default_colors
FILES+= termattrs
FILES+= timeout
+FILES+= touchline
FILES+= window
FILES+= window_create
FILES+= wborder
@@ -36,11 +93,14 @@ FILES+= box
FILES+= wprintw
FILES+= wscrl
FILES+= mvwin
+FILES+= mvderwin
FILES+= getstr
FILES+= chgat
FILES+= clear
FILES+= color_content
FILES+= fill_screen
+FILES+= fill_screen_numbers
+FILES+= fill_window_numbers
.include <bsd.test.mk>
.include <bsd.files.mk>
Index: src/tests/lib/libcurses/tests/addchstr
diff -u src/tests/lib/libcurses/tests/addchstr:1.1 src/tests/lib/libcurses/tests/addchstr:1.2
--- src/tests/lib/libcurses/tests/addchstr:1.1 Sun Apr 10 09:55:10 2011
+++ src/tests/lib/libcurses/tests/addchstr Sun May 26 09:54:33 2019
@@ -2,3 +2,8 @@ include start
call OK addchstr `\004a\004b\004c\004d\004e`
call OK refresh
compare addchstr.chk
+call OK move 0 5
+call OK bkgdset `\002\000`
+call OK addchstr `\004f\004g\004\h`
+call OK refresh
+compare addchstr2.chk
Index: src/tests/lib/libcurses/tests/beep
diff -u src/tests/lib/libcurses/tests/beep:1.1 src/tests/lib/libcurses/tests/beep:1.2
--- src/tests/lib/libcurses/tests/beep:1.1 Sun Apr 10 09:55:10 2011
+++ src/tests/lib/libcurses/tests/beep Sun May 26 09:54:33 2019
@@ -1,5 +1,4 @@
include start
-# SUSv2 says this should return OK but we return 1
-call 1 beep
+call OK beep
call OK refresh
compare bell.chk
Index: src/tests/lib/libcurses/tests/getstr
diff -u src/tests/lib/libcurses/tests/getstr:1.1 src/tests/lib/libcurses/tests/getstr:1.2
--- src/tests/lib/libcurses/tests/getstr:1.1 Sun Apr 10 09:55:10 2011
+++ src/tests/lib/libcurses/tests/getstr Sun May 26 09:54:33 2019
@@ -1,6 +1,11 @@
-include window
-input "input\n"
-call2 OK "input" wgetstr $win1
-compare wgetstr.chk
-call OK wrefresh $win1
-compare wgetstr_refresh.chk
+include start
+input "testing\n"
+call2 OK "testing" getstr
+# try a couple of backspaces, this should erase characters, we have
+# embedded a cursor left sequence too but this should not be interpreted
+input "abc\010\010def\eODgh\n"
+call2 OK "adef\eODgh" getstr
+# turn on keypad so the embedded cursor key will affect the result
+call OK keypad STDSCR $TRUE
+input "abc\010\010def\eODgh\n"
+call2 OK "adegh" getstr
Added files:
Index: src/tests/lib/libcurses/check_files/add_wch1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/add_wch1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/add_wch1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup15;15XHHH
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/add_wch2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/add_wch2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/add_wch2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup15;80XHcup16;1XHH
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/addchstr2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/addchstr2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/addchstr2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+smulrevfghrmulsgr0
Index: src/tests/lib/libcurses/check_files/bkgdset1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/bkgdset1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/bkgdset1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+smulthis is a testrmul
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/delay_output.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/delay_output.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/delay_output.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+@@@@@@@@@@@@@@@test
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/delch1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/delch1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/delch1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,3 @@
+
+
+ teest
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/delch2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/delch2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/delch2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+ test te
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/delch3.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/delch3.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/delch3.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+clear
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/delch4.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/delch4.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/delch4.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+
+ tesst
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/delch5.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/delch5.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/delch5.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup4;9Xt cup4;9X
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/deleteln1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/deleteln1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/deleteln1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+csr16;24Xhomehomecup24;1Xindn1Xcsr1;24Xhomehomecup24;1Xcup23;80X3cup16;1X
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/deleteln2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/deleteln2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/deleteln2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+clear
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/deleteln3.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/deleteln3.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/deleteln3.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup13;1X33333333333333333333333333333333333333333333333333333333333333333333333333333333cup14;1X44444444444444444444444444444444444444444444444444444444444444444444444444444444cup15;1X55555555555555555555555555555555555555555555555555555555555555555555555555555555cup16;1X66666666666666666666666666666666666666666666666666666666666666666666666666666666cup17;1Xel
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/deleteln4.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/deleteln4.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/deleteln4.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,3 @@
+555555
+ 666666
+ el
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/deleteln5.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/deleteln5.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/deleteln5.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,3 @@
+elcup8;7Xelcup9;7Xel
+ el
+ el
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/deleteln6.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/deleteln6.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/deleteln6.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+555555
+ el
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/delwin1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/delwin1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/delwin1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,10 @@
+cup3;6X0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000
+ 0000000000cup4;7X22222cup5;7X22222cup6;7X22222
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/delwin2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/delwin2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/delwin2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,8 @@
+csr4;17Xhomehomecup17;1Xindn3Xcsr1;24Xhomehome
+
+
+
+
+cup10;6X0000000000
+ 00000000000
+ 00000000000
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/derwin1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/derwin1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/derwin1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,6 @@
+000000
+ 000000
+ 000000
+ 000000
+ 000000
+ 000000cup8;11X
Index: src/tests/lib/libcurses/check_files/derwin2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/derwin2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/derwin2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup4;7X222cup5;7X222cup6;7X222cup8;11X
Index: src/tests/lib/libcurses/check_files/doupdate.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/doupdate.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/doupdate.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+hello world
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/dupwin1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/dupwin1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/dupwin1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,6 @@
+111111
+ 222222
+ 333333
+ 444444
+ 555555
+ 666666cup8;11Xcup9;13X111111cup10;13X222222cup11;13X333333cup12;13X444444cup13;13X555555cup14;13X666666cup14;18X
Index: src/tests/lib/libcurses/check_files/dupwin2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/dupwin2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/dupwin2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup8;11Xcup9;13Xaaaaaacup10;13Xbbbbbbcup11;13Xcccccccup12;13Xddddddcup13;13Xeeeeeecup14;13Xffffffcup14;18X
Index: src/tests/lib/libcurses/check_files/fill_screen_numbers.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/fill_screen_numbers.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/fill_screen_numbers.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+00000000000000000000000000000000000000000000000000000000000000000000000000000000cup2;1X11111111111111111111111111111111111111111111111111111111111111111111111111111111cup3;1X22222222222222222222222222222222222222222222222222222222222222222222222222222222cup4;1X33333333333333333333333333333333333333333333333333333333333333333333333333333333cup5;1X44444444444444444444444444444444444444444444444444444444444444444444444444444444cup6;1X55555555555555555555555555555555555555555555555555555555555555555555555555555555cup7;1X66666666666666666666666666666666666666666666666666666666666666666666666666666666cup8;1X77777777777777777777777777777777777777777777777777777777777777777777777777777777cup9;1X88888888888888888888888888888888888888888888888888888888888888888888888888888888cup10;1X99999999999999999999999999999999999999999999999999999999999999999999999999999999cup11;1X00000000000000000000000000000000000000000000000000000000000000000000000000000000cup12;1X1111111111111111111111111111111111111
1111111111111111111111111111111111111111111cup13;1X22222222222222222222222222222222222222222222222222222222222222222222222222222222cup14;1X33333333333333333333333333333333333333333333333333333333333333333333333333333333cup15;1X44444444444444444444444444444444444444444444444444444444444444444444444444444444cup16;1X55555555555555555555555555555555555555555555555555555555555555555555555555555555cup17;1X66666666666666666666666666666666666666666666666666666666666666666666666666666666cup18;1X77777777777777777777777777777777777777777777777777777777777777777777777777777777cup19;1X88888888888888888888888888888888888888888888888888888888888888888888888888888888cup20;1X99999999999999999999999999999999999999999999999999999999999999999999999999999999cup21;1X00000000000000000000000000000000000000000000000000000000000000000000000000000000cup22;1X11111111111111111111111111111111111111111111111111111111111111111111111111111111cup23;1X222222222222222222222222222222222222222222222222222222222222222222
22222222222222cup24;1X3333333333333333333333333333333333333333333333333333333333333333333333333333333cup24;1X
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/fill_window_numbers.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/fill_window_numbers.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/fill_window_numbers.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,4 @@
+111111cup8;7X222222cup9;7X333333
+ 444444
+ 555555
+ 666666
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/flash.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/flash.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/flash.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+flash
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/hline.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/hline.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/hline.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup6;11XAAAAAAAAAAAAAAAcup8;11XrevBBBBBBBBBBBBBBBcup8;11Xsgr0
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/meta1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/meta1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/meta1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+smm
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/meta2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/meta2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/meta2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+rmm
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mutt_test1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mutt_test1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mutt_test1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+setaf7Xsetab0X
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mutt_test2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mutt_test2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mutt_test2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+op
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mutt_test3.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mutt_test3.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mutt_test3.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+homesetaf7Xsetab0XboldEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEcup13;1XEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEcup23;1XEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEsgr0op
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mutt_test4.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mutt_test4.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mutt_test4.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+i
+setaf7Xsetab0Xrev123456789sgr0opsetaf7Xsetab0Xiop
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mutt_test5.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mutt_test5.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mutt_test5.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,4 @@
+cup13;1Xjsetaf7Xsetab0XEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+boldEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEsgr0opjsetaf7Xsetab0XEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEj
+boldEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEsgr0opsetaf7Xsetab0XEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEj
+boldEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEsgr0op
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mutt_test6.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mutt_test6.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mutt_test6.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+jcup15;11Xsetaf7Xsetab0XsmsoRRRRRRRRRRRcup24;1Xrmsoopsetaf7Xsetab0Xjopjcup15;15Xsetaf7Xsetab0XHHHopsetaf7Xsetab0Xjop
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mutt_test7.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mutt_test7.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mutt_test7.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+smkxop
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mutt_test8.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mutt_test8.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mutt_test8.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+smkxopsetaf7Xsetab0XWWWWWWWWcup13;73XEEEEEEEEcup14;1XboldWWWWWWWWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEcup15;1Xsgr0opsetaf7Xsetab0XWWWWWWWWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEcup15;1XboldWWWWWWWWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEcup16;1Xsgr0opsetaf7Xsetab0XWWWWWWWWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEcup16;1XboldWWWWWWWWcup16;73XEEEEEEEEcup17;1Xsgr0op
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mutt_test9.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mutt_test9.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mutt_test9.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup15;11Xsetaf7Xsetab0XsmsoRRRRRRRRRRRcup24;1Xrmsoopopcup15;15Xsetaf7Xsetab0XHHHopop
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvaddch.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvaddch.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvaddch.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup6;9XsmulErmul
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvaddchnstr.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvaddchnstr.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvaddchnstr.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup7;8XsmulABCDEcup7;8Xrmul
Index: src/tests/lib/libcurses/check_files/mvaddchnstr2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvaddchnstr2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvaddchnstr2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup9;76Xrev12345cup9;76Xsgr0
Index: src/tests/lib/libcurses/check_files/mvaddchstr.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvaddchstr.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvaddchstr.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup9;76Xrev12345cup9;76Xsgr0
Index: src/tests/lib/libcurses/check_files/mvaddnstr.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvaddnstr.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvaddnstr.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup8;11XABCDE
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvaddnstr2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvaddnstr2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvaddnstr2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup10;76X12345cup11;1X67890
Index: src/tests/lib/libcurses/check_files/mvaddstr.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvaddstr.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvaddstr.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup9;13XDEADBEEF
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvaddstr2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvaddstr2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvaddstr2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup13;76XBADCOcup14;1XFFEE
Index: src/tests/lib/libcurses/check_files/mvchgat.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvchgat.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvchgat.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup6;7Xsetaf1Xsetab4Xrev R cup6;10Xsgr0op
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvchgat2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvchgat2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvchgat2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup9;76Xsetaf1Xsetab4Xsmul T cup9;79Xrmulop
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvcur.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvcur.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvcur.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup7;6Xcup11;13X
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvderwin1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvderwin1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvderwin1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup3;6XAAAAcup5;21X
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvderwin2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvderwin2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvderwin2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup3;10Xcup5;21XAAAAcup5;21X
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvgetnstr1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvgetnstr1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvgetnstr1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,3 @@
+
+
+ testing
Index: src/tests/lib/libcurses/check_files/mvgetnstr2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvgetnstr2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvgetnstr2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+
+ 1234567
Index: src/tests/lib/libcurses/check_files/mvgetnstr3.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvgetnstr3.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvgetnstr3.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+
+ abc def^[ODgh
Index: src/tests/lib/libcurses/check_files/mvgetnstr4.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvgetnstr4.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvgetnstr4.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+smkxcup3;3Xabc def^[ODgh
Index: src/tests/lib/libcurses/check_files/mvgetstr1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvgetstr1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvgetstr1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,4 @@
+
+
+
+ testing
Index: src/tests/lib/libcurses/check_files/mvgetstr2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvgetstr2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvgetstr2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup2;5Xabc def^[ODgh
Index: src/tests/lib/libcurses/check_files/mvgetstr3.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvgetstr3.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvgetstr3.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+smkx
+ abc def^[ODgh
Index: src/tests/lib/libcurses/check_files/mvprintw.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvprintw.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvprintw.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup11;15Xtesting 1 2 3
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvvline1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvvline1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvvline1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,15 @@
+cup4;6XB
+ B
+ B
+ B
+ B
+ B
+ B
+ B
+ B
+ B
+ B
+ B
+ B
+ B
+ Bcup4;6X
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvvline2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvvline2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvvline2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup11;13XrevCcup12;13XCcup13;13XCcup14;13XCcup15;13XCcup16;13XCcup17;13XCcup18;13XCcup19;13XCcup20;13XCcup21;13XCcup22;13XCcup11;13Xsgr0
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/mvvline3.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/mvvline3.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/mvvline3.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup19;9XsmulrevDcup20;9XDcup21;9XDcup22;9XDcup23;9XDcup24;9XDcup19;9Xrmulsgr0
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/pad1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/pad1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/pad1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,3 @@
+cup12;6Xtestingtest
+ testingtest
+ testingtesthome
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/pad2.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/pad2.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/pad2.chk Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+cup12;11X223333cup13;11X223333cup14;11X223333home
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/pad3.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/pad3.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/pad3.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,6 @@
+cup12;7Xel
+ tel
+ t 444444444cup15;9X444444
+ testi22333333
+ testi22333333
+ testi22333333home
Index: src/tests/lib/libcurses/check_files/touchline1.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/touchline1.chk:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/check_files/touchline1.chk Sun May 26 09:54:33 2019
@@ -0,0 +1,6 @@
+000000
+ 000000
+ 000000
+ 000000
+ 000000
+ 000000
\ No newline at end of file
Index: src/tests/lib/libcurses/tests/add_wch
diff -u /dev/null src/tests/lib/libcurses/tests/add_wch:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/add_wch Sun May 26 09:54:33 2019
@@ -0,0 +1,26 @@
+include start
+call OK move 14 14
+call OK add_wch `\000\000\000\001\000H`
+call2 14 15 getyx STDSCR
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+call OK refresh
+compare add_wch1.chk
+call OK move 14 79
+call OK add_wch `\000\000\000\001\000H`
+call2 15 0 getyx STDSCR
+call OK refresh
+call2 15 0 getyx STDSCR
+call OK add_wch `\000\000\000\001\000H`
+call2 15 1 getyx STDSCR
+call OK refresh
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+call OK refresh
+compare add_wch2.chk
+call2 15 8 getyx STDSCR
Index: src/tests/lib/libcurses/tests/bkgdset
diff -u /dev/null src/tests/lib/libcurses/tests/bkgdset:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/bkgdset Sun May 26 09:54:33 2019
@@ -0,0 +1,9 @@
+include start
+# background attributes set to underline and A for space
+call OK bkgdset `\002A`
+call OK erase
+call OK refresh
+compare background1.chk
+call OK addstr "this is a test"
+call OK refresh
+compare bkgdset1.chk
Index: src/tests/lib/libcurses/tests/define_key
diff -u /dev/null src/tests/lib/libcurses/tests/define_key:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/define_key Sun May 26 09:54:33 2019
@@ -0,0 +1,9 @@
+include start
+call OK define_key "\etest" 1024
+call OK keypad STDSCR $TRUE
+input "\etest"
+call 1024 getch
+call OK define_key NULL 1024
+input "\etest"
+# sequence should now be unknown so we should just get first char back.
+call 0x1b getch
Index: src/tests/lib/libcurses/tests/delay_output
diff -u /dev/null src/tests/lib/libcurses/tests/delay_output:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/delay_output Sun May 26 09:54:33 2019
@@ -0,0 +1,5 @@
+include start
+call OK delay_output 30
+call OK addstr "test"
+call OK refresh
+compare delay_output.chk
Index: src/tests/lib/libcurses/tests/delch
diff -u /dev/null src/tests/lib/libcurses/tests/delch:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/delch Sun May 26 09:54:33 2019
@@ -0,0 +1,22 @@
+include start
+call OK move 2 2
+call OK addstr "teest"
+call OK refresh
+compare delch1.chk
+call OK move 2 4
+call OK delch
+call OK refresh
+compare delch2.chk
+call OK clear
+call OK move 0 0
+call OK refresh
+compare delch3.chk
+include window_create
+call OK wmove $win1 1 0
+call OK waddstr $win1 "tesst"
+call OK wrefresh $win1
+compare delch4.chk
+call OK wmove $win1 1 3
+call OK wdelch $win1
+call OK wrefresh $win1
+compare delch5.chk
Index: src/tests/lib/libcurses/tests/deleteln
diff -u /dev/null src/tests/lib/libcurses/tests/deleteln:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/deleteln Sun May 26 09:54:33 2019
@@ -0,0 +1,44 @@
+include start
+include fill_screen_numbers
+call OK refresh
+compare fill_screen_numbers.chk
+call OK move 15 0
+call OK deleteln
+call OK refresh
+compare deleteln1.chk
+call OK move 0 0
+call OK clear
+include fill_screen_numbers
+call OK refresh
+comparend deleteln2.chk
+compare fill_screen_numbers.chk
+call OK setscrreg 8 16
+call OK move 12 0
+call OK deleteln
+call OK refresh
+compare deleteln3.chk
+call OK move 0 0
+call OK clear
+call OK setscrreg 0 23
+call OK refresh
+compare deleteln2.chk
+include window_create
+include fill_window_numbers
+call OK wrefresh $win1
+compare fill_window_numbers.chk
+call OK wmove $win1 3 0
+call OK wdeleteln $win1
+call OK wrefresh $win1
+compare deleteln4.chk
+call OK wmove $win1 0 0
+call OK wclear $win1
+call OK wrefresh $win1
+compare deleteln5.chk
+include fill_window_numbers
+call OK wrefresh $win1
+compare fill_window_numbers.chk
+call OK wmove $win1 3 0
+call OK wsetscrreg $win1 2 4
+call OK wdeleteln $win1
+call OK wrefresh $win1
+compare deleteln6.chk
Index: src/tests/lib/libcurses/tests/delwin
diff -u /dev/null src/tests/lib/libcurses/tests/delwin:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/delwin Sun May 26 09:54:33 2019
@@ -0,0 +1,39 @@
+include start
+call win1 newwin 15 10 2 5
+check win1 NON_NULL
+call OK wmove $win1 0 0
+call OK waddstr $win1 "0000000000"
+call OK wmove $win1 1 0
+call OK waddstr $win1 "0000000000"
+call OK wmove $win1 2 0
+call OK waddstr $win1 "0000000000"
+call OK wmove $win1 3 0
+call OK waddstr $win1 "0000000000"
+call OK wmove $win1 4 0
+call OK waddstr $win1 "0000000000"
+call OK wmove $win1 5 0
+call OK waddstr $win1 "0000000000"
+call OK wmove $win1 6 0
+call OK waddstr $win1 "0000000000"
+call OK wmove $win1 7 0
+call OK waddstr $win1 "0000000000"
+call OK wmove $win1 8 0
+call OK waddstr $win1 "0000000000"
+call OK wmove $win1 9 0
+call OK waddstr $win1 "0000000000"
+call win2 newwin 6 5 3 6
+check win2 NON_NULL
+call OK wmove $win2 0 0
+call OK waddstr $win2 "22222"
+call OK wmove $win2 1 0
+call OK waddstr $win2 "22222"
+call OK wmove $win2 2 0
+call OK waddstr $win2 "22222"
+call OK wrefresh $win1
+call OK wrefresh $win2
+compare delwin1.chk
+call OK delwin $win2
+call OK touchwin $win1
+call OK wrefresh $win1
+call OK wrefresh $win2
+compare /dev/null
Index: src/tests/lib/libcurses/tests/derwin
diff -u /dev/null src/tests/lib/libcurses/tests/derwin:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/derwin Sun May 26 09:54:33 2019
@@ -0,0 +1,27 @@
+include start
+include window_create
+call OK wmove $win1 0 0
+call OK waddstr $win1 "000000"
+call OK wmove $win1 1 0
+call OK waddstr $win1 "000000"
+call OK wmove $win1 2 0
+call OK waddstr $win1 "000000"
+call OK wmove $win1 3 0
+call OK waddstr $win1 "000000"
+call OK wmove $win1 4 0
+call OK waddstr $win1 "000000"
+call OK wmove $win1 5 0
+call OK waddstr $win1 "000000"
+call OK wrefresh $win1
+compare derwin1.chk
+call win2 derwin $win1 3 3 1 1
+check win2 NON_NULL
+call OK wmove $win2 0 0
+call OK waddstr $win2 "222"
+call OK wmove $win2 1 0
+call OK waddstr $win2 "222"
+call OK wmove $win2 2 0
+call OK waddstr $win2 "222"
+call OK wrefresh $win1
+compare derwin2.chk
+
Index: src/tests/lib/libcurses/tests/doupdate
diff -u /dev/null src/tests/lib/libcurses/tests/doupdate:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/doupdate Sun May 26 09:54:33 2019
@@ -0,0 +1,5 @@
+include start
+call OK addstr "hello world"
+call OK wnoutrefresh STDSCR
+call OK doupdate
+compare doupdate.chk
Index: src/tests/lib/libcurses/tests/dupwin
diff -u /dev/null src/tests/lib/libcurses/tests/dupwin:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/dupwin Sun May 26 09:54:33 2019
@@ -0,0 +1,23 @@
+include window
+include fill_window_numbers
+call win2 dupwin $win1
+check win2 NON_NULL
+call OK mvwin $win2 8 12
+call OK wrefresh $win1
+call OK wrefresh $win2
+compare dupwin1.chk
+call OK wmove $win2 0 0
+call OK waddstr $win2 "aaaaaa"
+call OK wmove $win2 1 0
+call OK waddstr $win2 "bbbbbb"
+call OK wmove $win2 2 0
+call OK waddstr $win2 "cccccc"
+call OK wmove $win2 3 0
+call OK waddstr $win2 "dddddd"
+call OK wmove $win2 4 0
+call OK waddstr $win2 "eeeeee"
+call OK wmove $win2 5 0
+call OK waddstr $win2 "ffffff"
+call OK wrefresh $win1
+call OK wrefresh $win2
+compare dupwin2.chk
Index: src/tests/lib/libcurses/tests/echo
diff -u /dev/null src/tests/lib/libcurses/tests/echo:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/echo Sun May 26 09:54:33 2019
@@ -0,0 +1,18 @@
+#
+# noecho does not behave like solaris nor ncurses
+# ours turns cbreak off when noecho is in effect, others don't..
+# should we fix? This test will fail as written due to this behaviour
+#
+include start
+call OK echo
+input "a"
+call 0x61 getch
+compare /dev/null
+call OK noecho
+input "b"
+call 0x62 getch
+compare /dev/null
+call OK echo
+input "c"
+call 0x63 getch
+compare /dev/null
Index: src/tests/lib/libcurses/tests/erasechar
diff -u /dev/null src/tests/lib/libcurses/tests/erasechar:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/erasechar Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+include start
+call 0x08 erasechar
Index: src/tests/lib/libcurses/tests/fill_screen_numbers
diff -u /dev/null src/tests/lib/libcurses/tests/fill_screen_numbers:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/fill_screen_numbers Sun May 26 09:54:33 2019
@@ -0,0 +1,27 @@
+#
+# Fill the screen with numbered lines for testing scrolling
+#
+call OK mvaddstr 0 0 "00000000000000000000000000000000000000000000000000000000000000000000000000000000"
+call OK mvaddstr 1 0 "11111111111111111111111111111111111111111111111111111111111111111111111111111111"
+call OK mvaddstr 2 0 "22222222222222222222222222222222222222222222222222222222222222222222222222222222"
+call OK mvaddstr 3 0 "33333333333333333333333333333333333333333333333333333333333333333333333333333333"
+call OK mvaddstr 4 0 "44444444444444444444444444444444444444444444444444444444444444444444444444444444"
+call OK mvaddstr 5 0 "55555555555555555555555555555555555555555555555555555555555555555555555555555555"
+call OK mvaddstr 6 0 "66666666666666666666666666666666666666666666666666666666666666666666666666666666"
+call OK mvaddstr 7 0 "77777777777777777777777777777777777777777777777777777777777777777777777777777777"
+call OK mvaddstr 8 0 "88888888888888888888888888888888888888888888888888888888888888888888888888888888"
+call OK mvaddstr 9 0 "99999999999999999999999999999999999999999999999999999999999999999999999999999999"
+call OK mvaddstr 10 0 "00000000000000000000000000000000000000000000000000000000000000000000000000000000"
+call OK mvaddstr 11 0 "11111111111111111111111111111111111111111111111111111111111111111111111111111111"
+call OK mvaddstr 12 0 "22222222222222222222222222222222222222222222222222222222222222222222222222222222"
+call OK mvaddstr 13 0 "33333333333333333333333333333333333333333333333333333333333333333333333333333333"
+call OK mvaddstr 14 0 "44444444444444444444444444444444444444444444444444444444444444444444444444444444"
+call OK mvaddstr 15 0 "55555555555555555555555555555555555555555555555555555555555555555555555555555555"
+call OK mvaddstr 16 0 "66666666666666666666666666666666666666666666666666666666666666666666666666666666"
+call OK mvaddstr 17 0 "77777777777777777777777777777777777777777777777777777777777777777777777777777777"
+call OK mvaddstr 18 0 "88888888888888888888888888888888888888888888888888888888888888888888888888888888"
+call OK mvaddstr 19 0 "99999999999999999999999999999999999999999999999999999999999999999999999999999999"
+call OK mvaddstr 20 0 "00000000000000000000000000000000000000000000000000000000000000000000000000000000"
+call OK mvaddstr 21 0 "11111111111111111111111111111111111111111111111111111111111111111111111111111111"
+call OK mvaddstr 22 0 "22222222222222222222222222222222222222222222222222222222222222222222222222222222"
+call OK mvaddstr 23 0 "33333333333333333333333333333333333333333333333333333333333333333333333333333333"
Index: src/tests/lib/libcurses/tests/fill_window_numbers
diff -u /dev/null src/tests/lib/libcurses/tests/fill_window_numbers:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/fill_window_numbers Sun May 26 09:54:33 2019
@@ -0,0 +1,12 @@
+call OK wmove $win1 0 0
+call OK waddstr $win1 "111111"
+call OK wmove $win1 1 0
+call OK waddstr $win1 "222222"
+call OK wmove $win1 2 0
+call OK waddstr $win1 "333333"
+call OK wmove $win1 3 0
+call OK waddstr $win1 "444444"
+call OK wmove $win1 4 0
+call OK waddstr $win1 "555555"
+call OK wmove $win1 5 0
+call OK waddstr $win1 "666666"
Index: src/tests/lib/libcurses/tests/flash
diff -u /dev/null src/tests/lib/libcurses/tests/flash:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/flash Sun May 26 09:54:33 2019
@@ -0,0 +1,3 @@
+include start
+call OK flash
+compare flash.chk
Index: src/tests/lib/libcurses/tests/getattrs
diff -u /dev/null src/tests/lib/libcurses/tests/getattrs:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/getattrs Sun May 26 09:54:33 2019
@@ -0,0 +1,8 @@
+include window
+call 0 getattrs $win1
+call OK wattrset $win1 ($REVERSE | $BOLD)
+call ($REVERSE | $BOLD) getattrs $win1
+call OK wattron $win1 $UNDERSCORE
+call ($REVERSE | $BOLD | $UNDERSCORE) getattrs $win1
+call OK wattroff $win1 $REVERSE
+call ($BOLD | $UNDERSCORE) getattrs $win1
Index: src/tests/lib/libcurses/tests/getbegx
diff -u /dev/null src/tests/lib/libcurses/tests/getbegx:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/getbegx Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+include window
+call 5 getbegx $win1
Index: src/tests/lib/libcurses/tests/getbegy
diff -u /dev/null src/tests/lib/libcurses/tests/getbegy:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/getbegy Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+include window
+call 2 getbegy $win1
Index: src/tests/lib/libcurses/tests/getbkgd
diff -u /dev/null src/tests/lib/libcurses/tests/getbkgd:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/getbkgd Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+include bkgdset
+call `\002A` getbkgd STDSCR
Index: src/tests/lib/libcurses/tests/getcap
diff -u /dev/null src/tests/lib/libcurses/tests/getcap:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/getcap Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+include start
+call "flash" getcap "flash"
Index: src/tests/lib/libcurses/tests/getcurx
diff -u /dev/null src/tests/lib/libcurses/tests/getcurx:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/getcurx Sun May 26 09:54:33 2019
@@ -0,0 +1,5 @@
+include window
+call OK wmove $win1 3 4
+call 4 getcurx $win1
+call 3 getcury $win1
+call2 3 4 getyx $win1
Index: src/tests/lib/libcurses/tests/getmaxx
diff -u /dev/null src/tests/lib/libcurses/tests/getmaxx:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/getmaxx Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+include window
+call 6 getmaxx $win1
Index: src/tests/lib/libcurses/tests/getmaxy
diff -u /dev/null src/tests/lib/libcurses/tests/getmaxy:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/getmaxy Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+include window
+call 6 getmaxy $win1
Index: src/tests/lib/libcurses/tests/getnstr
diff -u /dev/null src/tests/lib/libcurses/tests/getnstr:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/getnstr Sun May 26 09:54:33 2019
@@ -0,0 +1,13 @@
+include start
+input "testing\n"
+call2 OK "testing" getnstr 10
+input "1234567\n"
+call2 OK "123" getnstr 4
+# try a couple of backspaces, this should erase characters, we have
+# embedded a cursor left sequence too but this should not be interpreted
+input "abc\010\010def\eODgh\n"
+call2 OK "adef" getnstr 5
+# turn on keypad so the embedded cursor key will affect the result
+call OK keypad STDSCR $TRUE
+input "abc\010\010def\eODgh\n"
+call2 OK "adeg" getnstr 5
Index: src/tests/lib/libcurses/tests/getparx
diff -u /dev/null src/tests/lib/libcurses/tests/getparx:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/getparx Sun May 26 09:54:33 2019
@@ -0,0 +1,7 @@
+include window
+call win2 derwin $win1 2 3 3 2
+check win2 NON_NULL
+call 2 getparx $win2
+call 3 getpary $win2
+call2 3 2 getparyx $win2
+
Index: src/tests/lib/libcurses/tests/has_colors
diff -u /dev/null src/tests/lib/libcurses/tests/has_colors:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/has_colors Sun May 26 09:54:33 2019
@@ -0,0 +1,2 @@
+include start
+call $TRUE has_colors
Index: src/tests/lib/libcurses/tests/has_ic
diff -u /dev/null src/tests/lib/libcurses/tests/has_ic:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/has_ic Sun May 26 09:54:33 2019
@@ -0,0 +1,3 @@
+include start
+call $FALSE has_ic
+call $TRUE has_il
Index: src/tests/lib/libcurses/tests/hline
diff -u /dev/null src/tests/lib/libcurses/tests/hline:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/hline Sun May 26 09:54:33 2019
@@ -0,0 +1,7 @@
+include start
+call OK move 5 10
+call OK hline `\000A` 15
+call OK move 7 10
+call OK hline `\004B` 15
+call OK refresh
+compare hline.chk
Index: src/tests/lib/libcurses/tests/inch
diff -u /dev/null src/tests/lib/libcurses/tests/inch:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/inch Sun May 26 09:54:33 2019
@@ -0,0 +1,5 @@
+include addchstr
+call OK move 0 2
+call `\004c` inch
+call OK move 0 6
+call `\006g` inch
Index: src/tests/lib/libcurses/tests/inchnstr
diff -u /dev/null src/tests/lib/libcurses/tests/inchnstr:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/inchnstr Sun May 26 09:54:33 2019
@@ -0,0 +1,6 @@
+include addchstr
+call OK move 0 2
+call2 OK `\004c\004d\004e\006f\006g` inchnstr 6
+call OK move 0 74
+call2 OK `\000 \000 \000 \000 \000 \000 ` inchnstr 10
+call2 OK `\000 \000 \000 \000 \000 \000 ` inchstr
Index: src/tests/lib/libcurses/tests/init_color
diff -u /dev/null src/tests/lib/libcurses/tests/init_color:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/init_color Sun May 26 09:54:33 2019
@@ -0,0 +1,6 @@
+include start
+call OK start_color
+# init_color is not implemented, it will return ERR
+call ERR init_color $COLOR_CYAN 1000 500 300
+# but we should be able to read back the settings
+call4 OK 1000 500 300 color_content $COLOR_CYAN
Index: src/tests/lib/libcurses/tests/innstr
diff -u /dev/null src/tests/lib/libcurses/tests/innstr:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/innstr Sun May 26 09:54:33 2019
@@ -0,0 +1,8 @@
+include addchstr
+call OK move 0 2
+call2 5 "cdefg" innstr 6
+call OK move 0 76
+call OK addstr "123"
+call ok move 0 75
+call2 5 " 123 " innstr 10
+call2 OK " 123 " instr
Index: src/tests/lib/libcurses/tests/insch
diff -u /dev/null src/tests/lib/libcurses/tests/insch:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/insch Sun May 26 09:54:33 2019
@@ -0,0 +1,4 @@
+include start
+call OK insch `\001E`
+call OK refresh
+compare insch.chk
Index: src/tests/lib/libcurses/tests/is_linetouched
diff -u /dev/null src/tests/lib/libcurses/tests/is_linetouched:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/is_linetouched Sun May 26 09:54:33 2019
@@ -0,0 +1,10 @@
+include window
+call $FALSE is_linetouched $win1 2
+call OK wmove $win1 0 2
+call OK waddch $win1 `\000A`
+call $FALSE is_linetouched $win1 2
+call OK wmove $win1 2 2
+call OK waddch $win1 `\000A`
+call $TRUE is_linetouched $win1 2
+call OK wrefresh $win1
+call $FALSE is_linetouched $win1 2
Index: src/tests/lib/libcurses/tests/is_wintouched
diff -u /dev/null src/tests/lib/libcurses/tests/is_wintouched:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/is_wintouched Sun May 26 09:54:33 2019
@@ -0,0 +1,7 @@
+include window
+call $FALSE is_wintouched $win1
+call OK wmove $win1 2 2
+call OK waddch $win1 `\002F`
+call $TRUE is_wintouched $win1
+call OK wrefresh $win1
+call $FALSE is_wintouched $win1
Index: src/tests/lib/libcurses/tests/keyname
diff -u /dev/null src/tests/lib/libcurses/tests/keyname:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/keyname Sun May 26 09:54:33 2019
@@ -0,0 +1,9 @@
+include std_defines
+call "^C" keyname 0x03
+call "C" keyname 0x43
+call "^?" keyname 0x7f
+call "M-^C" keyname 0x83
+call "M-C" keyname "0xc3
+call "M-^?" keyname 0xff
+call "KEY_RIGHT" keyname $KEY_RIGHT
+call "UNKNOWN KEY" keyname 0x205
Index: src/tests/lib/libcurses/tests/keyok
diff -u /dev/null src/tests/lib/libcurses/tests/keyok:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/keyok Sun May 26 09:54:33 2019
@@ -0,0 +1,9 @@
+include start
+call OK keypad STDSCR $TRUE
+input "\eOC"
+call $KEY_RIGHT getch
+call OK keyok $KEY_RIGHT $FALSE
+input "\eOA"
+call $KEY_UP getch
+input "\eOC"
+call 27 getch
Index: src/tests/lib/libcurses/tests/killchar
diff -u /dev/null src/tests/lib/libcurses/tests/killchar:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/killchar Sun May 26 09:54:33 2019
@@ -0,0 +1 @@
+call 0x15 killchar
Index: src/tests/lib/libcurses/tests/meta
diff -u /dev/null src/tests/lib/libcurses/tests/meta:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/meta Sun May 26 09:54:33 2019
@@ -0,0 +1,5 @@
+include start
+call OK meta STDSCR $TRUE
+compare meta1.chk
+call OK meta STDSCR $FALSE
+compare meta2.chk
Index: src/tests/lib/libcurses/tests/mutt_test
diff -u /dev/null src/tests/lib/libcurses/tests/mutt_test:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mutt_test Sun May 26 09:54:33 2019
@@ -0,0 +1,104 @@
+include start_color
+include fill_screen
+comparend mutt_test1.chk
+comparend fill.chk
+compare mutt_test2.chk
+call OK attron $BOLD
+call OK mvaddstr 0 0 "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK mvaddstr 12 0 "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK mvaddstr 22 0 "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK refresh
+call OK attroff $BOLD
+compare mutt_test3.chk
+# check add on bottom row, this sbould be 123456789 in normal rendition
+call OK mvaddchstr 23 0 `\0041\0042\0043\0044\0045\0046\0047\0048\0049`
+input "i"
+call 105 getch
+call OK refresh
+compare mutt_test4.chk
+call OK move 12 0
+input "j"
+call 106 getch
+call OK mvaddstr 12 0 "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attron $BOLD
+call OK mvaddstr 13 0 "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attroff $BOLD
+input "j"
+call 106 getch
+call OK mvaddstr 13 0 "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attron $BOLD
+call OK mvaddstr 14 0 "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attroff $BOLD
+input "j"
+call 106 getch
+call OK mvaddstr 14 0 "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attron $BOLD
+call OK mvaddstr 15 0 "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attroff $BOLD
+call OK refresh
+compare mutt_test5.chk
+call OK move 23 0
+call OK mvaddchstr 14 10 `\001R\001R\001R\001R\001R\001R\001R\001R\001R\001R\001R`
+call OK move 23 0
+input "j"
+call 106 getch
+call OK refresh
+call OK move 14 14
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+input "j"
+call 106 getch
+call OK refresh
+compare mutt_test6.chk
+call OK cbreak
+call OK noecho
+delay 2000
+input "a"
+call 97 getch
+call OK timeout -1
+call OK keypad STDSCR 1
+delay 0
+input "\eOA"
+call $KEY_UP getch
+call OK refresh
+call OK move 12 0
+input "j"
+call 106 getch
+call OK mvaddstr 12 0 "WWWWWWWWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attron $BOLD
+call OK mvaddstr 13 0 "WWWWWWWWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attroff $BOLD
+input "j"
+call 106 getch
+call OK mvaddstr 13 0 "WWWWWWWWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attron $BOLD
+call OK mvaddstr 14 0 "WWWWWWWWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attroff $BOLD
+input "j"
+call 106 getch
+call OK mvaddstr 14 0 "WWWWWWWWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attron $BOLD
+call OK mvaddstr 15 0 "WWWWWWWWEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
+call OK attroff $BOLD
+call OK refresh
+compare mutt_test8.chk
+call OK move 23 0
+call OK mvaddchstr 14 10 `\001R\001R\001R\001R\001R\001R\001R\001R\001R\001R\001R`
+call OK move 23 0
+call OK move 8 8
+call OK move 8 20
+call OK move 8 8
+call OK move 23 0
+input "j"
+call 106 getch
+call OK refresh
+call OK move 14 14
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+call OK add_wch `\000\000\000\001\000H`
+input "j"
+call 106 getch
+call OK refresh
+compare mutt_test9.chk
+
Index: src/tests/lib/libcurses/tests/mvaddch
diff -u /dev/null src/tests/lib/libcurses/tests/mvaddch:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvaddch Sun May 26 09:54:33 2019
@@ -0,0 +1,4 @@
+include start
+call OK mvaddch 5 8 `\002E`
+call OK refresh
+compare mvaddch.chk
Index: src/tests/lib/libcurses/tests/mvaddchnstr
diff -u /dev/null src/tests/lib/libcurses/tests/mvaddchnstr:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvaddchnstr Sun May 26 09:54:33 2019
@@ -0,0 +1,7 @@
+include start
+call OK mvaddchnstr 6 7 `\002A\002B\002C\002D\002E\002F\002G` 5
+call OK refresh
+compare mvaddchnstr.chk
+call OK mvaddchnstr 8 75 `\0041\0042\0043\0044\0045\0046\0047\0048\0049` 10
+call OK refresh
+compare mvaddchnstr2.chk
Index: src/tests/lib/libcurses/tests/mvaddchstr
diff -u /dev/null src/tests/lib/libcurses/tests/mvaddchstr:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvaddchstr Sun May 26 09:54:33 2019
@@ -0,0 +1,7 @@
+include start
+call OK mvaddchstr 6 7 `\002A\002B\002C\002D\002E`
+call OK refresh
+compare mvaddchnstr.chk
+call OK mvaddchstr 8 75 `\0041\0042\0043\0044\0045\0046\0047\0048\0049`
+call OK refresh
+compare mvaddchstr.chk
Index: src/tests/lib/libcurses/tests/mvaddnstr
diff -u /dev/null src/tests/lib/libcurses/tests/mvaddnstr:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvaddnstr Sun May 26 09:54:33 2019
@@ -0,0 +1,7 @@
+include start
+call OK mvaddnstr 7 10 "ABCDEFGH" 5
+call OK refresh
+compare mvaddnstr.chk
+call OK mvaddnstr 9 75 "1234567890" 10
+call OK refresh
+compare mvaddnstr2.chk
Index: src/tests/lib/libcurses/tests/mvaddstr
diff -u /dev/null src/tests/lib/libcurses/tests/mvaddstr:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvaddstr Sun May 26 09:54:33 2019
@@ -0,0 +1,7 @@
+include start
+call OK mvaddstr 8 12 "DEADBEEF"
+call OK refresh
+compare mvaddstr.chk
+call OK mvaddstr 12 75 "BADCOFFEE"
+call OK refresh
+compare mvaddstr2.chk
Index: src/tests/lib/libcurses/tests/mvchgat
diff -u /dev/null src/tests/lib/libcurses/tests/mvchgat:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvchgat Sun May 26 09:54:33 2019
@@ -0,0 +1,10 @@
+include start_color
+call OK init_pair 3 $COLOR_RED $COLOR_BLUE
+call OK mvaddch 5 8 `\000R`
+call OK mvchgat 5 6 10 $REVERSE 3 NULL
+call OK refresh
+compare mvchgat.chk
+call OK mvaddch 8 77 `\000T`
+call OK mvchgat 8 75 10 $UNDERSCORE 3 NULL
+call OK refresh
+compare mvchgat2.chk
Index: src/tests/lib/libcurses/tests/mvcur
diff -u /dev/null src/tests/lib/libcurses/tests/mvcur:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvcur Sun May 26 09:54:33 2019
@@ -0,0 +1,6 @@
+include start
+call OK move 6 5
+call OK refresh
+call OK mvcur 6 5 10 12
+call OK refresh
+compare mvcur.chk
Index: src/tests/lib/libcurses/tests/mvderwin
diff -u /dev/null src/tests/lib/libcurses/tests/mvderwin:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvderwin Sun May 26 09:54:33 2019
@@ -0,0 +1,30 @@
+include start
+call win1 newwin 10 20 2 5
+check win1 NON_NULL
+call win2 derwin $win1 4 4 2 15
+check win2 NON_NULL
+call win3 newwin 5 6 15 5
+check win3 NON_NULL
+# move non-subwin, should error
+call ERR mvderwin $win3 5 5
+call OK waddstr $win1 "AAAA"
+call OK wrefresh $win1
+call OK touchwin $win2
+call OK wrefresh $win2
+compare mvderwin1.chk
+# try move
+call OK mvderwin $win2 0 0
+call OK wrefresh $win1
+call OK touchwin $win2
+call OK wrefresh $win2
+compare mvderwin2.chk
+call OK mvwaddstr $win1 7 7 "BBBBB"
+call OK wrefresh $win1
+compare /dev/null
+call OK mvderwin $win2 5 7
+call OK touchwin $win2
+call OK wrefresh $win2
+compare /dev/null
+# try to move subwin outside parent, should fail
+call ERR mvderwin $win2 6 17
+call ERR mvderwin $win2 7 6
Index: src/tests/lib/libcurses/tests/mvgetnstr
diff -u /dev/null src/tests/lib/libcurses/tests/mvgetnstr:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvgetnstr Sun May 26 09:54:33 2019
@@ -0,0 +1,17 @@
+include start
+input "testing\n"
+call2 OK "testing" mvgetnstr 2 1 10
+compare mvgetnstr1.chk
+input "1234567\n"
+call2 OK "123" mvgetnstr 3 2 4
+compare mvgetnstr2.chk
+# try a couple of backspaces, this should erase characters, we have
+# embedded a cursor left sequence too but this should not be interpreted
+input "abc\010\010def\eODgh\n"
+call2 OK "adef" mvgetnstr 4 1 5
+compare mvgetnstr3.chk
+# turn on keypad so the embedded cursor key will affect the result
+call OK keypad STDSCR $TRUE
+input "abc\010\010def\eODgh\n"
+call2 OK "adeg" mvgetnstr 2 2 5
+compare mvgetnstr4.chk
Index: src/tests/lib/libcurses/tests/mvgetstr
diff -u /dev/null src/tests/lib/libcurses/tests/mvgetstr:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvgetstr Sun May 26 09:54:33 2019
@@ -0,0 +1,14 @@
+include start
+input "testing\n"
+call2 OK "testing" mvgetstr 3 2
+compare mvgetstr1.chk
+# try a couple of backspaces, this should erase characters, we have
+# embedded a cursor left sequence too but this should not be interpreted
+input "abc\010\010def\eODgh\n"
+call2 OK "adef\eODgh" mvgetstr 1 4
+compare mvgetstr2.chk
+# turn on keypad so the embedded cursor key will affect the result
+call OK keypad STDSCR $TRUE
+input "abc\010\010def\eODgh\n"
+call2 OK "adegh" mvgetstr 2 1
+compare mvgetstr3.chk
Index: src/tests/lib/libcurses/tests/mvhline
diff -u /dev/null src/tests/lib/libcurses/tests/mvhline:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvhline Sun May 26 09:54:33 2019
@@ -0,0 +1,5 @@
+include start
+call OK mvhline 5 10 `\000A` 15
+call OK mvhline 7 10 `\004B` 15
+call OK refresh
+compare hline.chk
Index: src/tests/lib/libcurses/tests/mvinchnstr
diff -u /dev/null src/tests/lib/libcurses/tests/mvinchnstr:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvinchnstr Sun May 26 09:54:33 2019
@@ -0,0 +1,4 @@
+include addchstr
+call2 OK `\004c\004d\004e\006f\006g` mvinchnstr 0 2 6
+call2 OK `\000 \000 \000 \000 \000 \000 ` mvinchnstr 0 74 10
+call2 OK `\000 \000 \000 \000 \000 \000 \000 ` mvinchstr 0 73
Index: src/tests/lib/libcurses/tests/mvprintw
diff -u /dev/null src/tests/lib/libcurses/tests/mvprintw:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvprintw Sun May 26 09:54:33 2019
@@ -0,0 +1,4 @@
+include start
+call OK mvprintw 10 14 "%s" "testing 1 2 3"
+call OK refresh
+compare mvprintw.chk
Index: src/tests/lib/libcurses/tests/mvscanw
diff -u /dev/null src/tests/lib/libcurses/tests/mvscanw:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvscanw Sun May 26 09:54:33 2019
@@ -0,0 +1,4 @@
+include start
+input "testing 1 2 3\n"
+call2 OK "testing" mvscanw 3 5 "%s"
+compare /dev/null
Index: src/tests/lib/libcurses/tests/mvvline
diff -u /dev/null src/tests/lib/libcurses/tests/mvvline:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/mvvline Sun May 26 09:54:33 2019
@@ -0,0 +1,10 @@
+include start
+call OK mvvline 3 5 `\000B` 15
+call OK refresh
+compare mvvline1.chk
+call OK mvvline 10 12 `\004C` 12
+call OK refresh
+compare mvvline2.chk
+call OK mvvline 18 8 `\006D` 20
+call OK refresh
+compare mvvline3.chk
Index: src/tests/lib/libcurses/tests/nocbreak
diff -u /dev/null src/tests/lib/libcurses/tests/nocbreak:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/nocbreak Sun May 26 09:54:33 2019
@@ -0,0 +1,18 @@
+include cbreak
+# The above tests should leave input in cbreak mode, switch back to
+# no cbreak mode and check. Set a timeout and input delay such that
+# the input delay is greater than the timeout. IFF we are not in cbreak
+# mode the timeouts will be ignored (canonical processing) so we should
+# see all the characters arrive, if the nocbreak() does not work then
+# we will get timeouts and fail.
+#
+call OK nocbreak
+delay 200
+call OK timeout 100
+input "fg\n"
+# should fail - no newline
+call 0x66 getch
+noinput
+call 0x67 getch
+noinput
+call 0x0a getch
Index: src/tests/lib/libcurses/tests/nodelay
diff -u /dev/null src/tests/lib/libcurses/tests/nodelay:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/nodelay Sun May 26 09:54:33 2019
@@ -0,0 +1,7 @@
+include window
+call OK nodelay $win1 $TRUE
+noinput
+call -1 wgetch $win1
+call OK nodelay $win1 $FALSE
+input "j"
+call 106 wgetch $win1
Index: src/tests/lib/libcurses/tests/pad
diff -u /dev/null src/tests/lib/libcurses/tests/pad:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/pad Sun May 26 09:54:33 2019
@@ -0,0 +1,28 @@
+include start
+call pad newpad 24 120
+check pad NON_NULL
+call OK mvwprintw $pad 12 100 "%s" "testingtestingtestingtesting"
+call OK mvwprintw $pad 13 100 "%s" "testingtestingtestingtesting"
+call OK mvwprintw $pad 14 100 "%s" "testingtestingtestingtesting"
+call OK prefresh $pad 11 100 10 5 14 15
+compare pad1.chk
+call OK mvwprintw $pad 12 105 "%s" "222222222222"
+call OK mvwprintw $pad 13 105 "%s" "222222222222"
+call OK mvwprintw $pad 14 105 "%s" "222222222222"
+call OK pnoutrefresh $pad 11 100 10 5 14 15
+call OK mvwprintw $pad 12 107 "%s" "333333333333"
+call OK mvwprintw $pad 13 107 "%s" "333333333333"
+call OK mvwprintw $pad 14 107 "%s" "333333333333"
+call OK pnoutrefresh $pad 11 100 10 5 14 15
+call OK refresh
+compare pad2.chk
+call sub subpad $pad 6 10 9 102
+check sub NON_NULL
+call OK mvwprintw $sub 1 1 "%s" "4444444444"
+call OK mvwprintw $sub 1 2 "%s" "4444444444"
+call OK mvwprintw $sub 1 3 "%s" "4444444444"
+call OK mvwprintw $sub 1 4 "%s" "4444444444"
+call OK mvwprintw $sub 1 5 "%s" "4444444444"
+call OK mvwprintw $sub 1 6 "%s" "4444444444"
+call OK prefresh $pad 5 100 8 6 18 18
+compare pad3.chk
Index: src/tests/lib/libcurses/tests/touchline
diff -u /dev/null src/tests/lib/libcurses/tests/touchline:1.1
--- /dev/null Sun May 26 09:54:33 2019
+++ src/tests/lib/libcurses/tests/touchline Sun May 26 09:54:33 2019
@@ -0,0 +1,27 @@
+include start
+include window_create
+call OK wmove $win1 0 0
+call OK waddstr $win1 "000000"
+call OK wmove $win1 1 0
+call OK waddstr $win1 "000000"
+call OK wmove $win1 2 0
+call OK waddstr $win1 "000000"
+call OK wmove $win1 3 0
+call OK waddstr $win1 "000000"
+call OK wmove $win1 4 0
+call OK waddstr $win1 "000000"
+call OK wmove $win1 5 0
+call OK waddstr $win1 "000000"
+call OK wrefresh $win1
+compare touchline1.chk
+call win2 subwin $win1 3 3 3 6
+check win2 NON_NULL
+call OK wmove $win2 0 0
+call OK waddstr $win2 "222"
+call OK wmove $win2 1 0
+call OK waddstr $win2 "222"
+call OK wmove $win2 2 0
+call OK waddstr $win2 "222"
+#call OK touchline $win1 3 3
+call OK wrefresh $win2
+compare touchline2.chk