Mercurial > vim
view src/testdir/test_signals.vim @ 17186:278583ff5e44 v8.1.1592
patch 8.1.1592: may start file dialog while exiting
commit https://github.com/vim/vim/commit/5c381eb9e72990e4153045f4911c59b9b2194edd
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jun 25 06:50:31 2019 +0200
patch 8.1.1592: may start file dialog while exiting
Problem: May start file dialog while exiting.
Solution: Ignore the "browse" modifier when exiting. (Ozaki Kiichi,
closes #4582
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 25 Jun 2019 07:00:04 +0200 |
parents | 8e9e9124c7a2 |
children | 0da9bc55c31a |
line wrap: on
line source
" Test signal handling. if !has('unix') throw 'Skipped: not on Unix' endif source shared.vim " Check whether a signal is available on this system. func HasSignal(signal) let signals = system('kill -l') return signals =~# '\<' .. a:signal .. '\>' endfunc " Test signal WINCH (window resize signal) func Test_signal_WINCH() if has('gui_running') || !HasSignal('WINCH') 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 " Test signal PWR, which should update the swap file. func Test_signal_PWR() if !HasSignal('PWR') return endif " Set a very large 'updatetime' and 'updatecount', so that we can be sure " that swap file is updated as a result of sending PWR signal, and not " because of exceeding 'updatetime' or 'updatecount' when changing buffer. set updatetime=100000 updatecount=100000 new Xtest_signal_PWR let swap_name = swapname('%') call setline(1, '123') preserve let swap_content = readfile(swap_name, 'b') " Update the buffer and check that the swap file is not yet updated, " since we set 'updatetime' and 'updatecount' to large values. call setline(1, 'abc') call assert_equal(swap_content, readfile(swap_name, 'b')) " Sending PWR signal should update the swap file. exe 'silent !kill -s PWR ' .. getpid() call WaitForAssert({-> assert_notequal(swap_content, readfile(swap_name, 'b'))}) bwipe! set updatetime& updatecount& endfunc