Add more testing for special character handling in ins_wstr family.diff -r1.8 -r1.9 src/tests/lib/libcurses/check_files/Makefile
(blymn)
--- src/tests/lib/libcurses/check_files/Makefile 2021/11/15 06:31:21 1.8
+++ src/tests/lib/libcurses/check_files/Makefile 2021/11/16 21:02:06 1.9
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | # $NetBSD: Makefile,v 1.8 2021/11/15 06:31:21 blymn Exp $ | 1 | # $NetBSD: Makefile,v 1.9 2021/11/16 21:02:06 blymn Exp $ | |
2 | 2 | |||
3 | NOMAN= # defined | 3 | NOMAN= # defined | |
4 | 4 | |||
5 | .include <bsd.own.mk> | 5 | .include <bsd.own.mk> | |
6 | 6 | |||
7 | ATFFILE= no | 7 | ATFFILE= no | |
8 | 8 | |||
9 | TESTSDIR= ${TESTSBASE}/lib/libcurses | 9 | TESTSDIR= ${TESTSBASE}/lib/libcurses | |
10 | 10 | |||
11 | FILESDIR= ${TESTSDIR}/check_files | 11 | FILESDIR= ${TESTSDIR}/check_files | |
12 | FILES= curses_start.chk | 12 | FILES= curses_start.chk | |
13 | FILES+= add_wch1.chk | 13 | FILES+= add_wch1.chk | |
14 | FILES+= add_wch2.chk | 14 | FILES+= add_wch2.chk | |
@@ -112,26 +112,29 @@ FILES+= getch.chk | @@ -112,26 +112,29 @@ FILES+= getch.chk | |||
112 | FILES+= getn_wstr.chk | 112 | FILES+= getn_wstr.chk | |
113 | FILES+= hline.chk | 113 | FILES+= hline.chk | |
114 | FILES+= hline1.chk | 114 | FILES+= hline1.chk | |
115 | FILES+= hline2.chk | 115 | FILES+= hline2.chk | |
116 | FILES+= hline_set.chk | 116 | FILES+= hline_set.chk | |
117 | FILES+= home.chk | 117 | FILES+= home.chk | |
118 | FILES+= immedok.chk | 118 | FILES+= immedok.chk | |
119 | FILES+= ins_nwstr1.chk | 119 | FILES+= ins_nwstr1.chk | |
120 | FILES+= ins_wch1.chk | 120 | FILES+= ins_wch1.chk | |
121 | FILES+= ins_wch2.chk | 121 | FILES+= ins_wch2.chk | |
122 | FILES+= ins_wch3.chk | 122 | FILES+= ins_wch3.chk | |
123 | FILES+= ins_wstr1.chk | 123 | FILES+= ins_wstr1.chk | |
124 | FILES+= ins_wstr2.chk | 124 | FILES+= ins_wstr2.chk | |
125 | FILES+= ins_wstr3.chk | |||
126 | FILES+= ins_wstr4.chk | |||
127 | FILES+= ins_wstr5.chk | |||
125 | FILES+= insch.chk | 128 | FILES+= insch.chk | |
126 | FILES+= insch1.chk | 129 | FILES+= insch1.chk | |
127 | FILES+= insch2.chk | 130 | FILES+= insch2.chk | |
128 | FILES+= insdelln1.chk | 131 | FILES+= insdelln1.chk | |
129 | FILES+= insdelln3.chk | 132 | FILES+= insdelln3.chk | |
130 | FILES+= insdelln4.chk | 133 | FILES+= insdelln4.chk | |
131 | FILES+= insdelln5.chk | 134 | FILES+= insdelln5.chk | |
132 | FILES+= insdelln6.chk | 135 | FILES+= insdelln6.chk | |
133 | FILES+= insdelln7.chk | 136 | FILES+= insdelln7.chk | |
134 | FILES+= insdelln_1.chk | 137 | FILES+= insdelln_1.chk | |
135 | FILES+= insdelln_3.chk | 138 | FILES+= insdelln_3.chk | |
136 | FILES+= insdelln_4.chk | 139 | FILES+= insdelln_4.chk | |
137 | FILES+= insdelln_5.chk | 140 | FILES+= insdelln_5.chk | |
@@ -254,26 +257,29 @@ FILES+= wgetstr_refresh.chk | @@ -254,26 +257,29 @@ FILES+= wgetstr_refresh.chk | |||
254 | FILES+= whline1.chk | 257 | FILES+= whline1.chk | |
255 | FILES+= whline2.chk | 258 | FILES+= whline2.chk | |
256 | FILES+= whline_set.chk | 259 | FILES+= whline_set.chk | |
257 | FILES+= window.chk | 260 | FILES+= window.chk | |
258 | FILES+= window2.chk | 261 | FILES+= window2.chk | |
259 | FILES+= window_hierarchy.chk | 262 | FILES+= window_hierarchy.chk | |
260 | FILES+= wins_wch1.chk | 263 | FILES+= wins_wch1.chk | |
261 | FILES+= wins_wch2.chk | 264 | FILES+= wins_wch2.chk | |
262 | FILES+= wins_wch3.chk | 265 | FILES+= wins_wch3.chk | |
263 | FILES+= wins_nwstr1.chk | 266 | FILES+= wins_nwstr1.chk | |
264 | FILES+= wins_nwstr2.chk | 267 | FILES+= wins_nwstr2.chk | |
265 | FILES+= wins_wstr1.chk | 268 | FILES+= wins_wstr1.chk | |
266 | FILES+= wins_wstr2.chk | 269 | FILES+= wins_wstr2.chk | |
270 | FILES+= wins_wstr3.chk | |||
271 | FILES+= wins_wstr4.chk | |||
272 | FILES+= wins_wstr5.chk | |||
267 | FILES+= winsch1.chk | 273 | FILES+= winsch1.chk | |
268 | FILES+= winsch2.chk | 274 | FILES+= winsch2.chk | |
269 | FILES+= wprintw_refresh.chk | 275 | FILES+= wprintw_refresh.chk | |
270 | FILES+= wredrawln1.chk | 276 | FILES+= wredrawln1.chk | |
271 | FILES+= wredrawln2.chk | 277 | FILES+= wredrawln2.chk | |
272 | FILES+= wscrl1.chk | 278 | FILES+= wscrl1.chk | |
273 | FILES+= wscrl2.chk | 279 | FILES+= wscrl2.chk | |
274 | FILES+= wsetscrreg.chk | 280 | FILES+= wsetscrreg.chk | |
275 | FILES+= wtouchln.chk | 281 | FILES+= wtouchln.chk | |
276 | FILES+= wvline1.chk | 282 | FILES+= wvline1.chk | |
277 | FILES+= wvline2.chk | 283 | FILES+= wvline2.chk | |
278 | FILES+= wvline_set.chk | 284 | FILES+= wvline_set.chk | |
279 | 285 |
cup21;1XBB
F F
cup8;7XCcup8;7X
A㐁Acup5;7Xelcup6;7XAAcup7;7XD cup8;7X Ecup8;7X
FFGGcup8;7X
--- src/tests/lib/libcurses/tests/ins_wstr 2020/10/24 04:46:17 1.1
+++ src/tests/lib/libcurses/tests/ins_wstr 2021/11/16 21:02:06 1.2
@@ -10,19 +10,35 @@ wchar FWSTR [0x300, "A"*2] | @@ -10,19 +10,35 @@ wchar FWSTR [0x300, "A"*2] | |||
10 | call ERR ins_wstr $FWSTR | 10 | call ERR ins_wstr $FWSTR | |
11 | 11 | |||
12 | call OK mvaddstr 10 75 "AAA" | 12 | call OK mvaddstr 10 75 "AAA" | |
13 | call OK refresh | 13 | call OK refresh | |
14 | 14 | |||
15 | # test shifting of above added characters, test do not wrap property | 15 | # test shifting of above added characters, test do not wrap property | |
16 | wchar NSTR ["A"*4] | 16 | wchar NSTR ["A"*4] | |
17 | call OK move 10 10 | 17 | call OK move 10 10 | |
18 | call OK ins_wstr $NSTR | 18 | call OK ins_wstr $NSTR | |
19 | call OK refresh | 19 | call OK refresh | |
20 | call2 10 10 getyx STDSCR | 20 | call2 10 10 getyx STDSCR | |
21 | compare ins_wstr2.chk | 21 | compare ins_wstr2.chk | |
22 | 22 | |||
23 | # lib/55433: Bug in special character handling of ins_wstr() of libcurses | 23 | # This should result in just BB | |
24 | # test special character processing [FAILING] | 24 | wchar NSTR ["A"*3, "\r", "B"*2] | |
25 | # wchar NSTR ["A"*3, "\r", "B"*2] | 25 | call OK move 20 0 | |
26 | # call OK move 20 0 | 26 | call OK ins_wstr $NSTR | |
27 | # call OK ins_wstr $NSTR | 27 | call OK refresh | |
28 | # call OK refresh | 28 | compare ins_wstr3.chk | |
29 | ||||
30 | # Check handling of tabs | |||
31 | # first try inserting too many, it should fail | |||
32 | wchar TSTR [ "\t"*20 ] | |||
33 | call ERR ins_wstr $TSTR | |||
34 | call OK refresh | |||
35 | call2 20 0 getyx STDSCR | |||
36 | compare ins_wstr4.chk | |||
37 | ||||
38 | # Now insert a few tabs... | |||
39 | wchar USTR [ "F", "\t"*3, "F" ] | |||
40 | call OK ins_wstr $USTR | |||
41 | call OK refresh | |||
42 | call2 20 0 getyx STDSCR | |||
43 | compare ins_wstr5.chk | |||
44 |
--- src/tests/lib/libcurses/tests/wins_wstr 2020/10/24 04:46:17 1.1
+++ src/tests/lib/libcurses/tests/wins_wstr 2021/11/16 21:02:06 1.2
@@ -6,13 +6,45 @@ call OK wrefresh $win1 | @@ -6,13 +6,45 @@ call OK wrefresh $win1 | |||
6 | call2 2 1 getyx $win1 | 6 | call2 2 1 getyx $win1 | |
7 | compare wins_wstr1.chk | 7 | compare wins_wstr1.chk | |
8 | 8 | |||
9 | call OK mvwaddstr $win1 4 4 "BB" | 9 | call OK mvwaddstr $win1 4 4 "BB" | |
10 | call OK wrefresh $win1 | 10 | call OK wrefresh $win1 | |
11 | 11 | |||
12 | # test shifting of above added characters, test do not wrap property | 12 | # test shifting of above added characters, test do not wrap property | |
13 | wchar NSTR ["A"*2] | 13 | wchar NSTR ["A"*2] | |
14 | call OK wmove $win1 4 1 | 14 | call OK wmove $win1 4 1 | |
15 | call OK wins_wstr $win1 $NSTR | 15 | call OK wins_wstr $win1 $NSTR | |
16 | call OK wrefresh $win1 | 16 | call OK wrefresh $win1 | |
17 | call2 4 1 getyx $win1 | 17 | call2 4 1 getyx $win1 | |
18 | compare wins_wstr2.chk | 18 | compare wins_wstr2.chk | |
19 | ||||
20 | # | |||
21 | # test the special character handling. | |||
22 | # | |||
23 | # handling of a carriage return | |||
24 | wchar RSTR ["B", "\r", "C" ] | |||
25 | call OK wmove $win1 5 1 | |||
26 | call OK wins_wstr $win1 $RSTR | |||
27 | call OK wrefresh $win1 | |||
28 | call2 5 1 getyx $win1 | |||
29 | compare wins_wstr3.chk | |||
30 | ||||
31 | # handling of a newline | |||
32 | wchar JSTR [ "D", "\n", "E" ] | |||
33 | call OK wmove $win1 5 1 | |||
34 | # this should fail since scrollok is false | |||
35 | call OK scrollok $win1 $FALSE | |||
36 | call ERR wins_wstr $win1 $JSTR | |||
37 | ||||
38 | # try again after enabling scroll | |||
39 | call OK scrollok $win1 $TRUE | |||
40 | call OK wins_wstr $win1 $JSTR | |||
41 | call OK wrefresh $win1 | |||
42 | call2 5 1 getyx $win1 | |||
43 | compare wins_wstr4.chk | |||
44 | ||||
45 | # handling of a backspace | |||
46 | wchar BSTR [ "F"*3, "\b", "G"*2 ] | |||
47 | call OK wins_wstr $win1 $BSTR | |||
48 | call OK wrefresh $win1 | |||
49 | call2 5 1 getyx $win1 | |||
50 | compare wins_wstr5.chk |