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
index 0979bb4..c3d3bbb 100644
--- 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 @@
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
diff --git a/src/version.c b/src/version.c
index 2b2474f..d163fba 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2067,
+/**/
2066,
/**/
2065,