aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/vim_spec.lua
diff options
context:
space:
mode:
authorAmit Singh <amitds1997@gmail.com>2024-07-11 15:56:52 +0530
committerAmit Singh <amitds1997@gmail.com>2024-07-13 16:42:28 +0530
commit970a27927eb31bdc735f0d7d5e3d07784486c6de (patch)
tree6a106fbbaef11a504ca60dfaea663b7e3bd5e11f /test/functional/lua/vim_spec.lua
parentb1aa8f5eb8a5407e869335e9987b73f8515c37e5 (diff)
downloadrneovim-970a27927eb31bdc735f0d7d5e3d07784486c6de.tar.gz
rneovim-970a27927eb31bdc735f0d7d5e3d07784486c6de.tar.bz2
rneovim-970a27927eb31bdc735f0d7d5e3d07784486c6de.zip
fix(lua)!: do not use typed table for empty dict
Problem: Empty dictionaries are converted into typed tables of the form `{ [true] = 6}` instead of an empty dictionary representation `{}`. This leads to incorrect table representation, along with failure in JSON encoding of such tables as currently tables with only string and number type keys can be encoded. Solution: The typed table logic has been removed from `nlua_push_Dictionary`. The typed table logic is required only for float value conversions which is already handled in `nlua_push_Float`. So, it is(was) no longer required here. Fixes neovim/neovim#29218
Diffstat (limited to 'test/functional/lua/vim_spec.lua')
-rw-r--r--test/functional/lua/vim_spec.lua3
1 files changed, 1 insertions, 2 deletions
diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua
index 03c743c9ae..b0720e6a94 100644
--- a/test/functional/lua/vim_spec.lua
+++ b/test/functional/lua/vim_spec.lua
@@ -1205,8 +1205,7 @@ describe('lua stdlib', function()
]])
eq(true, exec_lua([[return next(vim.fn.FooFunc(3)) == nil ]]))
eq(3, eval('g:test'))
- -- compat: nvim_call_function uses "special" value for empty dict
- eq(true, exec_lua([[return next(vim.api.nvim_call_function("FooFunc", {5})) == true ]]))
+ eq(true, exec_lua([[return vim.tbl_isempty(vim.api.nvim_call_function("FooFunc", {5}))]]))
eq(5, eval('g:test'))
eq({ 2, 'foo', true }, exec_lua([[return vim.fn.VarArg(2, "foo", true)]]))