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

Reply via email to