diff options
author | chentau <tchen1998@gmail.com> | 2021-02-19 16:28:46 -0800 |
---|---|---|
committer | chentau <tchen1998@gmail.com> | 2021-03-02 12:45:54 -0800 |
commit | f42e932df498f670c9b3d705cbf2f3b3f091c80c (patch) | |
tree | d93187aa9b76ec6067f50f1a0d4f5921d36b18a1 /test/functional/lua/buffer_updates_spec.lua | |
parent | dc3ca16a99ec05c88df1b1fe6a3cfbe97ea34227 (diff) | |
download | rneovim-f42e932df498f670c9b3d705cbf2f3b3f091c80c.tar.gz rneovim-f42e932df498f670c9b3d705cbf2f3b3f091c80c.tar.bz2 rneovim-f42e932df498f670c9b3d705cbf2f3b3f091c80c.zip |
Extmarks: Save extmark undo information to undofile.
Diffstat (limited to 'test/functional/lua/buffer_updates_spec.lua')
-rw-r--r-- | test/functional/lua/buffer_updates_spec.lua | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/functional/lua/buffer_updates_spec.lua b/test/functional/lua/buffer_updates_spec.lua index f38c0e8b09..db268ea707 100644 --- a/test/functional/lua/buffer_updates_spec.lua +++ b/test/functional/lua/buffer_updates_spec.lua @@ -658,8 +658,62 @@ describe('lua: nvim_buf_attach on_bytes', function() } end) + it("sends events when undoing with undofile", function() + write_file("Xtest-undofile", dedent([[ + 12345 + hello world + ]])) + + command("e! Xtest-undofile") + command("set undodir=. | set undofile") + + local ns = helpers.request('nvim_create_namespace', "ns1") + meths.buf_set_extmark(0, ns, 0, 0, {}) + + eq({"12345", "hello world"}, meths.buf_get_lines(0, 0, -1, true)) + + -- splice + feed("gg0d2l") + + eq({"345", "hello world"}, meths.buf_get_lines(0, 0, -1, true)) + + -- move + command(".m+1") + + eq({"hello world", "345"}, meths.buf_get_lines(0, 0, -1, true)) + + -- reload undofile and undo changes + command("w") + command("set noundofile") + command("bw!") + command("e! Xtest-undofile") + + command("set undofile") + + local check_events = setup_eventcheck(verify, nil) + + feed("u") + eq({"345", "hello world"}, meths.buf_get_lines(0, 0, -1, true)) + + check_events { + { "test1", "bytes", 2, 6, 1, 0, 12, 1, 0, 4, 0, 0, 0 }, + { "test1", "bytes", 2, 6, 0, 0, 0, 0, 0, 0, 1, 0, 4 } + } + + feed("u") + eq({"12345", "hello world"}, meths.buf_get_lines(0, 0, -1, true)) + + check_events { + { "test1", "bytes", 2, 8, 0, 0, 0, 0, 0, 0, 0, 2, 2 } + } + command("bw!") + end) + + teardown(function() os.remove "Xtest-reload" + os.remove "Xtest-undofile" + os.remove ".Xtest-undofile.un~" end) end |