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

patch 8.1.2067: no tests for SafeState and SafeStateAgain

Problem:    No tests for SafeState and SafeStateAgain.
Solution:   Add tests.
This commit is contained in:
Bram Moolenaar
2019-09-22 21:50:09 +02:00
parent c258549032
commit cadbe1b1fb
2 changed files with 33 additions and 0 deletions

View File

@@ -2,6 +2,7 @@
source shared.vim
source check.vim
source term_util.vim
func s:cleanup_buffers() abort
for bnr in range(1, bufnr('$'))
@@ -2225,3 +2226,33 @@ func Test_throw_in_BufWritePre()
bwipe!
au! throwing
endfunc
func Test_autocmd_SafeState()
CheckRunVimInTerminal
let lines =<< trim END
let g:safe = 0
let g:again = ''
au SafeState * let g:safe += 1
au SafeStateAgain * let g:again ..= 'x'
func CallTimer()
call timer_start(10, {id -> execute('let g:again ..= "t"')})
endfunc
END
call writefile(lines, 'XSafeState')
let buf = RunVimInTerminal('-S XSafeState', #{rows: 6})
call term_sendkeys(buf, ":echo g:safe\<CR>")
call WaitForAssert({-> assert_match('^2 ', term_getline(buf, 6))}, 1000)
call term_sendkeys(buf, ":echo g:again\<CR>")
call WaitForAssert({-> assert_match('^xxxx', term_getline(buf, 6))}, 1000)
call term_sendkeys(buf, ":let g:again = ''\<CR>:call CallTimer()\<CR>")
call term_wait(buf)
call term_sendkeys(buf, ":echo g:again\<CR>")
call WaitForAssert({-> assert_match('xtx', term_getline(buf, 6))}, 1000)
call StopVimInTerminal(buf)
call delete('XSafeState')
endfunc

View File

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