tests/libcurses: fix undefined behavior in test addch

The libcurses framework is not strictly typed and thus provides plenty
of ways to shoot yourself in the foot.  It's a waste of time debugging
things that a proper programming language can easily prevent.

The function addch expects an argument of type 'chtype'.  Passing a
"double-quoted" string does not match this, as 'chtype' is completely
different from a plain 'char'.  Instead, functions taking a 'chtype'
must be passed a `backtick-quoted` string.
This commit is contained in:
rillig 2021-02-07 23:30:33 +00:00
parent a9a73810b2
commit 7879077738
1 changed files with 8 additions and 9 deletions

View File

@ -3,23 +3,22 @@ call OK addch `\001t`
call OK refresh
call OK mvaddch 5 3 `\003e`
call OK refresh
call OK addch "\n"
call OK addch `\000\n`
# Somewhere between NetBSD 8.0 and 9.0, a bug was added to addch that
# doubled the spaces for a tab. Instead of 8 spaces, there are now 16.
call OK addch "\t"
call OK addch `\000\t`
call2 6 16 getyx STDSCR # FIXME: must be 8, not 16
call OK addch "8"
call OK addch "\n"
call OK addch `\0008`
call OK addch `\000\n`
# Somewhere between NetBSD 8.0 and 9.0, a bug was added to addch that
# doubled the spaces for a tab. Instead of 1 space, there are now 2.
call OK addstr "0123456"
call OK addch "\t"
call2 7 9 getyx STDSCR # FIXME: with probability around 50%, the
# 7 comes out as a 6.
call OK addch "8"
call OK addch "\n"
call OK addch `\000\t`
call2 7 9 getyx STDSCR
call OK addch `\0008`
call OK addch `\000\n`
call OK refresh
compare addch.chk