0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 8.1.1047: WINCH signal is not tested

Problem:    WINCH signal is not tested.
Solution:   Add a test. (Dominique Pelle, closes #4158)
This commit is contained in:
Bram Moolenaar
2019-03-24 14:58:31 +01:00
parent 82b033eff8
commit db77b84ac2
3 changed files with 48 additions and 0 deletions

View File

@@ -224,6 +224,7 @@ NEW_TESTS = \
test_searchpos \ test_searchpos \
test_set \ test_set \
test_sha256 \ test_sha256 \
test_signals \
test_signs \ test_signs \
test_smartindent \ test_smartindent \
test_sort \ test_sort \
@@ -385,6 +386,7 @@ NEW_TESTS_RES = \
test_scrollbind.res \ test_scrollbind.res \
test_search.res \ test_search.res \
test_shortpathname.res \ test_shortpathname.res \
test_signals.res \
test_signs.res \ test_signs.res \
test_smartindent.res \ test_smartindent.res \
test_source.res \ test_source.res \

View File

@@ -0,0 +1,44 @@
" Test signal handling.
if !has('unix')
finish
endif
source shared.vim
" Test signal WINCH (window resize signal)
func Test_signal_WINCH()
let signals = system('kill -l')
if signals !~ '\<WINCH\>'
" signal WINCH is not available, skip the test.
return
endif
" We do not actually want to change the size of the terminal.
let old_WS = ''
if exists('&t_WS')
let old_WS = &t_WS
let &t_WS = ''
endif
let old_lines = &lines
let old_columns = &columns
let new_lines = &lines - 2
let new_columns = &columns - 2
exe 'set lines=' . new_lines
exe 'set columns=' . new_columns
call assert_equal(new_lines, &lines)
call assert_equal(new_columns, &columns)
" Send signal and wait for signal to be processed.
" 'lines' and 'columns' should have been restored
" after handing signal WINCH.
exe 'silent !kill -s WINCH ' . getpid()
call WaitForAssert({-> assert_equal(old_lines, &lines)})
call assert_equal(old_columns, &columns)
if old_WS != ''
let &t_WS = old_WS
endif
endfunc

View File

@@ -775,6 +775,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1047,
/**/ /**/
1046, 1046,
/**/ /**/