diff options
author | bfredl <bjorn.linse@gmail.com> | 2025-01-20 11:02:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-20 11:02:58 +0100 |
commit | 71922cd1dc3bb6e040d7ab1ecd4d457f979a98fa (patch) | |
tree | 73b996f8b40ec429f76cad646464972920e26f4d /test/functional/api/window_spec.lua | |
parent | 5b025b499ec430f1733409f0fb5ba3f88ce25a88 (diff) | |
parent | 59da82abd91e3be7eb5403c14de012cd149a1c84 (diff) | |
download | rneovim-71922cd1dc3bb6e040d7ab1ecd4d457f979a98fa.tar.gz rneovim-71922cd1dc3bb6e040d7ab1ecd4d457f979a98fa.tar.bz2 rneovim-71922cd1dc3bb6e040d7ab1ecd4d457f979a98fa.zip |
Merge pull request #31597 from bfredl/deletionism
fix(wininfo): when freeing windows, free the lowest priority wininfo
Diffstat (limited to 'test/functional/api/window_spec.lua')
-rw-r--r-- | test/functional/api/window_spec.lua | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/functional/api/window_spec.lua b/test/functional/api/window_spec.lua index 078d581b6f..028f0beb38 100644 --- a/test/functional/api/window_spec.lua +++ b/test/functional/api/window_spec.lua @@ -506,6 +506,48 @@ describe('API/win', function() assert_alive() end) + describe('after closing', function() + local buf, win0, win1, win2 + + before_each(function() + win0 = api.nvim_get_current_win() + command('new') + buf = api.nvim_get_current_buf() + win1 = api.nvim_get_current_win() + command('set numberwidth=10') + command('split') + win2 = api.nvim_get_current_win() + command('set numberwidth=15') + command('enew') + api.nvim_set_current_win(win1) + command('normal ix') + command('enew') + api.nvim_set_current_win(win0) + eq(4, api.nvim_get_option_value('numberwidth', {})) + end) + + -- at this point buffer `buf` is current in no windows. Closing shouldn't affect its defaults + it('0 windows', function() + api.nvim_set_current_buf(buf) + eq(10, api.nvim_get_option_value('numberwidth', {})) + end) + + it('1 window', function() + api.nvim_win_close(win1, false) + + api.nvim_set_current_buf(buf) + eq(10, api.nvim_get_option_value('numberwidth', {})) + end) + + it('2 windows', function() + api.nvim_win_close(win1, false) + api.nvim_win_close(win2, false) + + api.nvim_set_current_buf(buf) + eq(10, api.nvim_get_option_value('numberwidth', {})) + end) + end) + it('returns values for unset local options', function() eq(-1, api.nvim_get_option_value('scrolloff', { win = 0, scope = 'local' })) end) |