Module Name:    src
Committed By:   blymn
Date:           Tue Nov 16 21:02:06 UTC 2021

Modified Files:
        src/tests/lib/libcurses/check_files: Makefile
        src/tests/lib/libcurses/tests: ins_wstr wins_wstr
Added Files:
        src/tests/lib/libcurses/check_files: ins_wstr3.chk ins_wstr4.chk
            ins_wstr5.chk wins_wstr3.chk wins_wstr4.chk wins_wstr5.chk

Log Message:
Add more testing for special character handling in ins_wstr family.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/tests/lib/libcurses/check_files/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/lib/libcurses/check_files/ins_wstr3.chk \
    src/tests/lib/libcurses/check_files/ins_wstr4.chk \
    src/tests/lib/libcurses/check_files/ins_wstr5.chk \
    src/tests/lib/libcurses/check_files/wins_wstr3.chk \
    src/tests/lib/libcurses/check_files/wins_wstr4.chk \
    src/tests/lib/libcurses/check_files/wins_wstr5.chk
cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libcurses/tests/ins_wstr \
    src/tests/lib/libcurses/tests/wins_wstr

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/check_files/Makefile
diff -u src/tests/lib/libcurses/check_files/Makefile:1.8 src/tests/lib/libcurses/check_files/Makefile:1.9
--- src/tests/lib/libcurses/check_files/Makefile:1.8	Mon Nov 15 06:31:21 2021
+++ src/tests/lib/libcurses/check_files/Makefile	Tue Nov 16 21:02:06 2021
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.8 2021/11/15 06:31:21 blymn Exp $
+# $NetBSD: Makefile,v 1.9 2021/11/16 21:02:06 blymn Exp $
 
 NOMAN=		# defined
 
@@ -122,6 +122,9 @@ FILES+=		ins_wch2.chk
 FILES+=		ins_wch3.chk
 FILES+=		ins_wstr1.chk
 FILES+=		ins_wstr2.chk
+FILES+=		ins_wstr3.chk
+FILES+=		ins_wstr4.chk
+FILES+=		ins_wstr5.chk
 FILES+=		insch.chk
 FILES+=		insch1.chk
 FILES+=		insch2.chk
@@ -264,6 +267,9 @@ FILES+=		wins_nwstr1.chk
 FILES+=		wins_nwstr2.chk
 FILES+=		wins_wstr1.chk
 FILES+=		wins_wstr2.chk
+FILES+=		wins_wstr3.chk
+FILES+=		wins_wstr4.chk
+FILES+=		wins_wstr5.chk
 FILES+=		winsch1.chk
 FILES+=		winsch2.chk
 FILES+=		wprintw_refresh.chk

Index: src/tests/lib/libcurses/tests/ins_wstr
diff -u src/tests/lib/libcurses/tests/ins_wstr:1.1 src/tests/lib/libcurses/tests/ins_wstr:1.2
--- src/tests/lib/libcurses/tests/ins_wstr:1.1	Sat Oct 24 04:46:17 2020
+++ src/tests/lib/libcurses/tests/ins_wstr	Tue Nov 16 21:02:06 2021
@@ -20,9 +20,25 @@ call OK refresh
 call2 10 10 getyx STDSCR
 compare ins_wstr2.chk
 
-# lib/55433: Bug in special character handling of ins_wstr() of libcurses
-# test special character processing [FAILING]
-# wchar NSTR ["A"*3, "\r", "B"*2]
-# call OK move 20 0
-# call OK ins_wstr $NSTR
-# call OK refresh
+# This should result in just BB
+wchar NSTR ["A"*3, "\r", "B"*2]
+call OK move 20 0
+call OK ins_wstr $NSTR
+call OK refresh
+compare ins_wstr3.chk
+
+# Check handling of tabs
+# first try inserting too many, it should fail
+wchar TSTR [ "\t"*20 ]
+call ERR ins_wstr $TSTR
+call OK refresh
+call2 20 0 getyx STDSCR
+compare ins_wstr4.chk
+
+# Now insert a few tabs...
+wchar USTR [ "F", "\t"*3, "F" ]
+call OK ins_wstr $USTR
+call OK refresh
+call2 20 0 getyx STDSCR
+compare ins_wstr5.chk
+
Index: src/tests/lib/libcurses/tests/wins_wstr
diff -u src/tests/lib/libcurses/tests/wins_wstr:1.1 src/tests/lib/libcurses/tests/wins_wstr:1.2
--- src/tests/lib/libcurses/tests/wins_wstr:1.1	Sat Oct 24 04:46:17 2020
+++ src/tests/lib/libcurses/tests/wins_wstr	Tue Nov 16 21:02:06 2021
@@ -16,3 +16,35 @@ call OK wins_wstr $win1 $NSTR
 call OK wrefresh $win1
 call2 4 1 getyx $win1
 compare wins_wstr2.chk
+
+#
+# test the special character handling.
+#
+# handling of a carriage return
+wchar RSTR ["B", "\r", "C" ]
+call OK wmove $win1 5 1
+call OK wins_wstr $win1 $RSTR
+call OK wrefresh $win1
+call2 5 1 getyx $win1
+compare wins_wstr3.chk
+
+# handling of a newline
+wchar JSTR [ "D", "\n", "E" ]
+call OK wmove $win1 5 1
+# this should fail since scrollok is false
+call OK scrollok $win1 $FALSE
+call ERR wins_wstr $win1 $JSTR
+
+# try again after enabling scroll
+call OK scrollok $win1 $TRUE
+call OK wins_wstr $win1 $JSTR
+call OK wrefresh $win1
+call2 5 1 getyx $win1
+compare wins_wstr4.chk
+
+# handling of a backspace
+wchar BSTR [ "F"*3, "\b", "G"*2 ]
+call OK wins_wstr $win1 $BSTR
+call OK wrefresh $win1
+call2 5 1 getyx $win1
+compare wins_wstr5.chk

Added files:

Index: src/tests/lib/libcurses/check_files/ins_wstr3.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/ins_wstr3.chk:1.1
--- /dev/null	Tue Nov 16 21:02:06 2021
+++ src/tests/lib/libcurses/check_files/ins_wstr3.chk	Tue Nov 16 21:02:06 2021
@@ -0,0 +1 @@
+cup21;1XBB
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/ins_wstr5.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/ins_wstr5.chk:1.1
--- /dev/null	Tue Nov 16 21:02:06 2021
+++ src/tests/lib/libcurses/check_files/ins_wstr5.chk	Tue Nov 16 21:02:06 2021
@@ -0,0 +1 @@
+F			F
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/wins_wstr3.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/wins_wstr3.chk:1.1
--- /dev/null	Tue Nov 16 21:02:06 2021
+++ src/tests/lib/libcurses/check_files/wins_wstr3.chk	Tue Nov 16 21:02:06 2021
@@ -0,0 +1 @@
+cup8;7XCcup8;7X
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/wins_wstr4.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/wins_wstr4.chk:1.1
--- /dev/null	Tue Nov 16 21:02:06 2021
+++ src/tests/lib/libcurses/check_files/wins_wstr4.chk	Tue Nov 16 21:02:06 2021
@@ -0,0 +1 @@
+A㐁Acup5;7Xelcup6;7XAAcup7;7XD cup8;7X Ecup8;7X
\ No newline at end of file
Index: src/tests/lib/libcurses/check_files/wins_wstr5.chk
diff -u /dev/null src/tests/lib/libcurses/check_files/wins_wstr5.chk:1.1
--- /dev/null	Tue Nov 16 21:02:06 2021
+++ src/tests/lib/libcurses/check_files/wins_wstr5.chk	Tue Nov 16 21:02:06 2021
@@ -0,0 +1 @@
+FFGGcup8;7X
\ No newline at end of file

Reply via email to