aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-01-27 08:48:31 +0100
committerGitHub <noreply@github.com>2022-01-27 08:48:31 +0100
commit1270949c11536248015fb7efad9f37f5f36399c4 (patch)
tree3fc88454d080dfa8f5e092fce4ce214f7b6bbe3f /src/nvim/testdir
parent618f7079e51a62ef67b0f5e0cb75ff9ccdb9ffcd (diff)
parent2fa1b4cbff06b6dabc6d59df585953e9220e5007 (diff)
downloadrneovim-1270949c11536248015fb7efad9f37f5f36399c4.tar.gz
rneovim-1270949c11536248015fb7efad9f37f5f36399c4.tar.bz2
rneovim-1270949c11536248015fb7efad9f37f5f36399c4.zip
Merge pull request #17150 from zeertzjq/vim-8.2.4166
vim-patch:8.2.4166: undo synced when switching buffer in another window
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r--src/nvim/testdir/test_timers.vim23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_timers.vim b/src/nvim/testdir/test_timers.vim
index aae315b2c5..09eed4e10d 100644
--- a/src/nvim/testdir/test_timers.vim
+++ b/src/nvim/testdir/test_timers.vim
@@ -379,4 +379,27 @@ func Test_timer_invalid_callback()
call assert_fails('call timer_start(0, "0")', 'E921')
endfunc
+func Test_timer_using_win_execute_undo_sync()
+ let bufnr1 = bufnr()
+ new
+ let g:bufnr2 = bufnr()
+ let g:winid = win_getid()
+ exe "buffer " .. bufnr1
+ wincmd w
+ call setline(1, ['test'])
+ autocmd InsertEnter * call timer_start(100, { -> win_execute(g:winid, 'buffer ' .. g:bufnr2) })
+ call timer_start(200, { -> feedkeys("\<CR>bbbb\<Esc>") })
+ call feedkeys("Oaaaa", 'x!t')
+ " will hang here until the second timer fires
+ call assert_equal(['aaaa', 'bbbb', 'test'], getline(1, '$'))
+ undo
+ call assert_equal(['test'], getline(1, '$'))
+
+ bwipe!
+ bwipe!
+ unlet g:winid
+ unlet g:bufnr2
+ au! InsertEnter
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab