aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/vim_spec.lua
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2021-06-29 09:18:59 -0400
committerTJ DeVries <devries.timothyj@gmail.com>2021-06-29 09:18:59 -0400
commit19b7cef0a7dc52f3ec016e0dd0ae82f0f6ecd4b1 (patch)
tree43f8c5f346c3b6560fe4a219ae63f56fd61ebe1f /test/functional/lua/vim_spec.lua
parent6ecec87c099ce6182b4a1cc81846be9e0e70c1cd (diff)
downloadrneovim-19b7cef0a7dc52f3ec016e0dd0ae82f0f6ecd4b1.tar.gz
rneovim-19b7cef0a7dc52f3ec016e0dd0ae82f0f6ecd4b1.tar.bz2
rneovim-19b7cef0a7dc52f3ec016e0dd0ae82f0f6ecd4b1.zip
fix(vim.opt): Fix #14828 with empty values being incorrectly inserted
Diffstat (limited to 'test/functional/lua/vim_spec.lua')
-rw-r--r--test/functional/lua/vim_spec.lua64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua
index ad0bb50c6e..eff838aea3 100644
--- a/test/functional/lua/vim_spec.lua
+++ b/test/functional/lua/vim_spec.lua
@@ -1751,6 +1751,70 @@ describe('lua stdlib', function()
eq({{"^,", "a", "b", "c"}, "a,b,^,,c"}, result)
end)
+
+
+
+ describe('https://github.com/neovim/neovim/issues/14828', function()
+ it('gives empty list when item is empty:array', function()
+ eq({}, exec_lua [[
+ vim.cmd("set wildignore=")
+ return vim.opt.wildignore:get()
+ ]])
+
+ eq({}, exec_lua [[
+ vim.opt.wildignore = {}
+ return vim.opt.wildignore:get()
+ ]])
+ end)
+
+ it('gives empty list when item is empty:set', function()
+ eq({}, exec_lua [[
+ vim.cmd("set formatoptions=")
+ return vim.opt.formatoptions:get()
+ ]])
+
+ eq({}, exec_lua [[
+ vim.opt.formatoptions = {}
+ return vim.opt.formatoptions:get()
+ ]])
+ end)
+
+ it('does not append to empty item', function()
+ eq({"*.foo", "*.bar"}, exec_lua [[
+ vim.opt.wildignore = {}
+ vim.opt.wildignore:append { "*.foo", "*.bar" }
+
+ return vim.opt.wildignore:get()
+ ]])
+ end)
+
+ it('does not prepend to empty item', function()
+ eq({"*.foo", "*.bar"}, exec_lua [[
+ vim.opt.wildignore = {}
+ vim.opt.wildignore:prepend { "*.foo", "*.bar" }
+
+ return vim.opt.wildignore:get()
+ ]])
+ end)
+
+ it('append to empty set', function()
+ eq({ t = true }, exec_lua [[
+ vim.opt.formatoptions = {}
+ vim.opt.formatoptions:append("t")
+
+ return vim.opt.formatoptions:get()
+ ]])
+ end)
+
+ it('prepend to empty set', function()
+ eq({ t = true }, exec_lua [[
+ vim.opt.formatoptions = {}
+ vim.opt.formatoptions:prepend("t")
+
+ return vim.opt.formatoptions:get()
+ ]])
+ end)
+ end)
end) -- vim.opt
it('vim.cmd', function()