aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api
diff options
context:
space:
mode:
authorGregory Anders <greg@gpanders.com>2021-10-11 22:09:08 -0600
committerGregory Anders <greg@gpanders.com>2021-12-04 14:04:23 -0700
commit71ac00ccb523383411b907b5fdf00a376e24a6f0 (patch)
tree2814a60964d9522692d5c81401e565d40693d6a1 /test/functional/api
parent7b910a1716eabb18fd05f8c27370a7ab1e771074 (diff)
downloadrneovim-71ac00ccb523383411b907b5fdf00a376e24a6f0.tar.gz
rneovim-71ac00ccb523383411b907b5fdf00a376e24a6f0.tar.bz2
rneovim-71ac00ccb523383411b907b5fdf00a376e24a6f0.zip
feat(api): add nvim_get_option_value
Diffstat (limited to 'test/functional/api')
-rw-r--r--test/functional/api/buffer_spec.lua7
-rw-r--r--test/functional/api/vim_spec.lua27
-rw-r--r--test/functional/api/window_spec.lua10
3 files changed, 41 insertions, 3 deletions
diff --git a/test/functional/api/buffer_spec.lua b/test/functional/api/buffer_spec.lua
index a0c97804b7..688f3abba5 100644
--- a/test/functional/api/buffer_spec.lua
+++ b/test/functional/api/buffer_spec.lua
@@ -629,6 +629,13 @@ describe('api/buf', function()
-- Doesn't change the global value
eq([[^\s*#\s*define]], nvim('get_option', 'define'))
end)
+
+ it('returns values for unset local options', function()
+ -- 'undolevels' is only set to its "unset" value when a new buffer is
+ -- created
+ command('enew')
+ eq(-123456, curbuf('get_option', 'undolevels'))
+ end)
end)
describe('nvim_buf_get_name, nvim_buf_set_name', function()
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index 21de4925b5..d53208a915 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -949,6 +949,33 @@ describe('API', function()
end)
end)
+ describe('nvim_get_option_value, nvim_set_option_value', function()
+ it('works', function()
+ ok(nvim('get_option_value', 'equalalways', {}))
+ nvim('set_option_value', 'equalalways', false, {})
+ ok(not nvim('get_option_value', 'equalalways', {}))
+ end)
+
+ it('can get local values when global value is set', function()
+ eq(0, nvim('get_option_value', 'scrolloff', {}))
+ eq(-1, nvim('get_option_value', 'scrolloff', {scope = 'local'}))
+ end)
+
+ it('can set global and local values', function()
+ nvim('set_option_value', 'makeprg', 'hello', {})
+ eq('hello', nvim('get_option_value', 'makeprg', {}))
+ eq('', nvim('get_option_value', 'makeprg', {scope = 'local'}))
+ nvim('set_option_value', 'makeprg', 'world', {scope = 'local'})
+ eq('world', nvim('get_option_value', 'makeprg', {scope = 'local'}))
+ nvim('set_option_value', 'makeprg', 'goodbye', {scope = 'global'})
+ eq('goodbye', nvim('get_option_value', 'makeprg', {scope = 'global'}))
+ nvim('set_option_value', 'makeprg', 'hello', {})
+ eq('hello', nvim('get_option_value', 'makeprg', {scope = 'global'}))
+ eq('hello', nvim('get_option_value', 'makeprg', {}))
+ eq('', nvim('get_option_value', 'makeprg', {scope = 'local'}))
+ end)
+ end)
+
describe('nvim_{get,set}_current_buf, nvim_list_bufs', function()
it('works', function()
eq(1, #nvim('list_bufs'))
diff --git a/test/functional/api/window_spec.lua b/test/functional/api/window_spec.lua
index 11755a9d97..4d2ffa316a 100644
--- a/test/functional/api/window_spec.lua
+++ b/test/functional/api/window_spec.lua
@@ -222,9 +222,9 @@ describe('API/win', function()
eq('', nvim('get_option', 'statusline'))
command("set modified")
command("enew") -- global-local: not preserved in new buffer
- eq("Failed to get value for option 'statusline'",
- pcall_err(curwin, 'get_option', 'statusline'))
- eq('', eval('&l:statusline')) -- confirm local value was not copied
+ -- confirm local value was not copied
+ eq('', curwin('get_option', 'statusline'))
+ eq('', eval('&l:statusline'))
end)
it('after switching windows #15390', function()
@@ -238,6 +238,10 @@ describe('API/win', function()
eq('window-status', window('get_option', win1, 'statusline'))
assert_alive()
end)
+
+ it('returns values for unset local options', function()
+ eq(-1, curwin('get_option', 'scrolloff'))
+ end)
end)
describe('get_position', function()