diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-06-30 06:40:31 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-30 06:40:31 +0800 |
commit | e7020306a19a5211c834966ec067fff3b981bdb9 (patch) | |
tree | 79436a276599e9c62f69d308d2d963e7f3dee1ac /test/functional | |
parent | 435d0182d293e70b14a5655c976c3c6daa6ea765 (diff) | |
download | rneovim-e7020306a19a5211c834966ec067fff3b981bdb9.tar.gz rneovim-e7020306a19a5211c834966ec067fff3b981bdb9.tar.bz2 rneovim-e7020306a19a5211c834966ec067fff3b981bdb9.zip |
feat(jumplist): allow opting out of removing unloaded buffers (#29347)
Problem: Cannot opt out of removing unloaded buffers from the jumplist.
Solution: Only enable that with "unload" flag in 'jumpoptions'.
Diffstat (limited to 'test/functional')
-rw-r--r-- | test/functional/editor/jump_spec.lua | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/test/functional/editor/jump_spec.lua b/test/functional/editor/jump_spec.lua index 880831d9f8..6d2f75e7c5 100644 --- a/test/functional/editor/jump_spec.lua +++ b/test/functional/editor/jump_spec.lua @@ -194,7 +194,7 @@ describe("jumpoptions=stack behaves like 'tagstack'", function() end) end) -describe('buffer deletion', function() +describe('buffer deletion with jumpoptions+=unload', function() local base_file = 'Xtest-functional-buffer-deletion' local file1 = base_file .. '1' local file2 = base_file .. '2' @@ -227,6 +227,12 @@ describe('buffer deletion', function() command('edit ' .. file3) end) + after_each(function() + os.remove(file1) + os.remove(file2) + os.remove(file3) + end) + it('deletes jump list entries when the current buffer is deleted', function() command('edit ' .. file1) @@ -319,6 +325,44 @@ describe('buffer deletion', function() end) end) +describe('buffer deletion with jumpoptions-=unload', function() + local base_file = 'Xtest-functional-buffer-deletion' + local file1 = base_file .. '1' + local file2 = base_file .. '2' + local base_content = 'text' + local content1 = base_content .. '1' + local content2 = base_content .. '2' + + before_each(function() + clear() + command('clearjumps') + command('set jumpoptions-=unload') + + write_file(file1, content1, false, false) + write_file(file2, content2, false, false) + + command('edit ' .. file1) + command('edit ' .. file2) + end) + + after_each(function() + os.remove(file1) + os.remove(file2) + end) + + it('Ctrl-O reopens previous buffer with :bunload or :bdelete #28968', function() + eq(file2, fn.bufname('')) + command('bunload') + eq(file1, fn.bufname('')) + feed('<C-O>') + eq(file2, fn.bufname('')) + command('bdelete') + eq(file1, fn.bufname('')) + feed('<C-O>') + eq(file2, fn.bufname('')) + end) +end) + describe('jumpoptions=view', function() local file1 = 'Xtestfile-functional-editor-jumps' local file2 = 'Xtestfile-functional-editor-jumps-2' |