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