# HG changeset patch # User Bram Moolenaar # Date 1569182403 -7200 # Node ID 95719bfeced237ca3c485a7e95c96e61882955dd # Parent 2416e1a887ca6928fb5b676d8333681b13384986 patch 8.1.2067: no tests for SafeState and SafeStateAgain Commit: https://github.com/vim/vim/commit/cadbe1b1fbdf7d7740ae617710e0f6862fdee598 Author: Bram Moolenaar Date: Sun Sep 22 21:50:09 2019 +0200 patch 8.1.2067: no tests for SafeState and SafeStateAgain Problem: No tests for SafeState and SafeStateAgain. Solution: Add tests. diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -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\") + call WaitForAssert({-> assert_match('^2 ', term_getline(buf, 6))}, 1000) + + call term_sendkeys(buf, ":echo g:again\") + call WaitForAssert({-> assert_match('^xxxx', term_getline(buf, 6))}, 1000) + + call term_sendkeys(buf, ":let g:again = ''\:call CallTimer()\") + call term_wait(buf) + call term_sendkeys(buf, ":echo g:again\") + call WaitForAssert({-> assert_match('xtx', term_getline(buf, 6))}, 1000) + + call StopVimInTerminal(buf) + call delete('XSafeState') +endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2067, +/**/ 2066, /**/ 2065,