diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-12-09 07:24:09 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-09 07:24:09 +0800 |
commit | d82096edf8b870b79da40cc005803ee18c63e409 (patch) | |
tree | e8e3c0452677dfee45f1c7d62e5b600130919b6c /src/nvim/testdir | |
parent | ea39fc2cadc1d87109216da354a876427eeea31a (diff) | |
parent | 95044991e618827924ac47aeae8bd0eacc775f58 (diff) | |
download | rneovim-d82096edf8b870b79da40cc005803ee18c63e409.tar.gz rneovim-d82096edf8b870b79da40cc005803ee18c63e409.tar.bz2 rneovim-d82096edf8b870b79da40cc005803ee18c63e409.zip |
Merge pull request #21348 from zeertzjq/vim-9.0.1036
vim-patch:9.0.1036: undo misbehaves when writing from an insert mode mapping
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r-- | src/nvim/testdir/test_undo.vim | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_undo.vim b/src/nvim/testdir/test_undo.vim index eb47af08d7..ee8b52caaf 100644 --- a/src/nvim/testdir/test_undo.vim +++ b/src/nvim/testdir/test_undo.vim @@ -3,6 +3,9 @@ " undo-able pieces. Do that by setting 'undolevels'. " Also tests :earlier and :later. +source check.vim +source screendump.vim + func Test_undotree() new @@ -773,4 +776,30 @@ func Test_undo_mark() bwipe! endfunc +func Test_undo_after_write() + " use a terminal to make undo work like when text is typed + CheckRunVimInTerminal + + let lines =<< trim END + edit Xtestfile.txt + set undolevels=100 undofile + imap . <Cmd>write<CR> + write + END + call writefile(lines, 'Xtest_undo_after_write', 'D') + let buf = RunVimInTerminal('-S Xtest_undo_after_write', #{rows: 6}) + + call term_sendkeys(buf, "Otest.\<CR>boo!!!\<Esc>") + sleep 100m + call term_sendkeys(buf, "u") + call VerifyScreenDump(buf, 'Test_undo_after_write_1', {}) + + call term_sendkeys(buf, "u") + call VerifyScreenDump(buf, 'Test_undo_after_write_2', {}) + + call StopVimInTerminal(buf) + call delete('Xtestfile.txt') +endfunc + + " vim: shiftwidth=2 sts=2 expandtab |