aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/vim_spec.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-05-01 21:08:05 +0200
committerGitHub <noreply@github.com>2022-05-01 21:08:05 +0200
commit069da468d5d2af01279a121473aef09c87b163aa (patch)
tree7b80d6fe78e44ed420e8a0be1c28158f96083274 /test/functional/lua/vim_spec.lua
parent65b4bf055f58eb622f59188c3bace2519cb777b1 (diff)
downloadrneovim-069da468d5d2af01279a121473aef09c87b163aa.tar.gz
rneovim-069da468d5d2af01279a121473aef09c87b163aa.tar.bz2
rneovim-069da468d5d2af01279a121473aef09c87b163aa.zip
fix(shared): avoid indexing unindexable values in vim.tbl_get() (#18337)
Diffstat (limited to 'test/functional/lua/vim_spec.lua')
-rw-r--r--test/functional/lua/vim_spec.lua4
1 files changed, 4 insertions, 0 deletions
diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua
index d9a8dfd2e8..73e4d7ca79 100644
--- a/test/functional/lua/vim_spec.lua
+++ b/test/functional/lua/vim_spec.lua
@@ -492,6 +492,10 @@ describe('lua stdlib', function()
it('vim.tbl_get', function()
eq(true, exec_lua("return vim.tbl_get({ test = { nested_test = true }}, 'test', 'nested_test')"))
+ eq(NIL, exec_lua("return vim.tbl_get({ unindexable = true }, 'unindexable', 'missing_key')"))
+ eq(NIL, exec_lua("return vim.tbl_get({ unindexable = 1 }, 'unindexable', 'missing_key')"))
+ eq(NIL, exec_lua("return vim.tbl_get({ unindexable = coroutine.create(function () end) }, 'unindexable', 'missing_key')"))
+ eq(NIL, exec_lua("return vim.tbl_get({ unindexable = function () end }, 'unindexable', 'missing_key')"))
eq(NIL, exec_lua("return vim.tbl_get({}, 'missing_key')"))
eq(NIL, exec_lua("return vim.tbl_get({})"))
end)