aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/window_spec.lua
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2019-09-02 04:38:50 +0200
committerJustin M. Keyes <justinkz@gmail.com>2019-09-01 19:38:50 -0700
commitfb19aeeb33f76cd3b2fec9f62a22e01c212fb076 (patch)
tree84d9f5fa59467b71c9a236469cb4c96912138c1c /test/functional/api/window_spec.lua
parentb10d703213da5699a176c7791a51a322f248dbd2 (diff)
downloadrneovim-fb19aeeb33f76cd3b2fec9f62a22e01c212fb076.tar.gz
rneovim-fb19aeeb33f76cd3b2fec9f62a22e01c212fb076.tar.bz2
rneovim-fb19aeeb33f76cd3b2fec9f62a22e01c212fb076.zip
API: make nvim_win_set_option() set window-global, not buffer-local #9110
NB: the `!(flags & SOPT_GLOBAL)` exception is for 'statusline'. Because `:set statusline=...` sets the global value for _all_ windows, `:setlocal` is the best we can do there. This is a one-of-a-kind option that doesn't work like any other option.
Diffstat (limited to 'test/functional/api/window_spec.lua')
-rw-r--r--test/functional/api/window_spec.lua8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/functional/api/window_spec.lua b/test/functional/api/window_spec.lua
index 9af1bdb93b..3bc53cfc83 100644
--- a/test/functional/api/window_spec.lua
+++ b/test/functional/api/window_spec.lua
@@ -212,10 +212,18 @@ describe('API/win', function()
it('works', function()
curwin('set_option', 'colorcolumn', '4,3')
eq('4,3', curwin('get_option', 'colorcolumn'))
+ command("set modified hidden")
+ command("enew") -- edit new buffer, window option is preserved
+ eq('4,3', curwin('get_option', 'colorcolumn'))
+
-- global-local option
curwin('set_option', 'statusline', 'window-status')
eq('window-status', curwin('get_option', 'statusline'))
eq('', nvim('get_option', 'statusline'))
+ command("set modified")
+ command("enew") -- global-local: not preserved in new buffer
+ eq({false, "Failed to get value for option 'statusline'"}, meth_pcall(curwin, 'get_option', 'statusline'))
+ eq('', eval('&l:statusline')) -- confirm local value was not copied
end)
end)