mirror of
https://github.com/vim/vim
synced 2025-07-16 09:12:00 +00: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:
@ -224,6 +224,7 @@ NEW_TESTS = \
|
||||
test_searchpos \
|
||||
test_set \
|
||||
test_sha256 \
|
||||
test_signals \
|
||||
test_signs \
|
||||
test_smartindent \
|
||||
test_sort \
|
||||
@ -385,6 +386,7 @@ NEW_TESTS_RES = \
|
||||
test_scrollbind.res \
|
||||
test_search.res \
|
||||
test_shortpathname.res \
|
||||
test_signals.res \
|
||||
test_signs.res \
|
||||
test_smartindent.res \
|
||||
test_source.res \
|
||||
|
44
src/testdir/test_signals.vim
Normal file
44
src/testdir/test_signals.vim
Normal 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
|
@ -775,6 +775,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1047,
|
||||
/**/
|
||||
1046,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user