include start_slk

# test slk attributes
call OK slk_set 1 "one" 0
call OK slk_refresh

call OK slk_attron `\003\000`
call OK slk_set 1 "one" 1
call OK slk_refresh

call OK slk_attroff `\002\000`
call OK slk_set 1 "one" 2
call OK slk_refresh

call OK slk_attrset `\006\000`
call OK slk_set 8 "eight!!!" 1
call OK slk_set 5 "five" 1
call OK slk_refresh

# test slk_label
call "one" slk_label 1
call "eight!!!" slk_label 8
call "five" slk_label 5
call NULL slk_label 2
compare slk1.chk

# test slk_clear
call OK slk_clear
compare slk2.chk

# test slk_restore
# this returns error [buggy??], ideally slk_restore must have returned OK and must have performed refresh operation
# There should not be need of explicit refresh
call ERR slk_restore
call OK slk_refresh
compare slk3.chk

# test slk_noutrefresh
call OK slk_set 2 "two" 0
call OK slk_noutrefresh
call OK refresh
compare slk4.chk

# test slk_touch
call OK slk_touch
call OK slk_set 2 "two" 1
call OK slk_refresh
compare slk5.chk

# test slk_color
call OK start_color
call OK init_pair 4 $COLOR_RED $COLOR_GREEN
call OK slk_color 4
call OK slk_set 4 "four" 2
call OK slk_refresh
compare slk6.chk

# test slk_wset
# [buggy??] 'b' should be printed as (wcswidth(wstr) == 6) <= 8 
wchar WSTR [0x3401, "a", 0x3401, "b"]
call OK slk_wset 3 $WSTR 1
call OK slk_refresh
