mirror of
https://github.com/neovim/neovim.git
synced 2026-05-27 07:18:36 +00:00
feat(lua)!: vim.isnil, vim.nonnil, deprecate vim.F #39495
This commit is contained in:
@@ -982,6 +982,14 @@ describe('lua stdlib', function()
|
||||
)
|
||||
end)
|
||||
|
||||
it('vim.isnil', function()
|
||||
eq(true, exec_lua('return vim.isnil(nil)'))
|
||||
eq(true, exec_lua('return vim.isnil(vim.NIL)'))
|
||||
eq(false, exec_lua('return vim.isnil(true)'))
|
||||
eq(false, exec_lua('return vim.isnil(false)'))
|
||||
eq(false, exec_lua('return vim.isnil({})'))
|
||||
end)
|
||||
|
||||
it('vim.tbl_isempty', function()
|
||||
eq(true, exec_lua('return vim.tbl_isempty({})'))
|
||||
eq(false, exec_lua('return vim.tbl_isempty({ 1, 2, 3 })'))
|
||||
@@ -2976,8 +2984,8 @@ describe('lua stdlib', function()
|
||||
)
|
||||
end)
|
||||
|
||||
it('vim.F.if_nil', function()
|
||||
local function if_nil(...)
|
||||
it('vim.nonnil', function()
|
||||
local function nonnil(...)
|
||||
return exec_lua(
|
||||
[[
|
||||
local args = {...}
|
||||
@@ -2987,7 +2995,7 @@ describe('lua stdlib', function()
|
||||
args[i] = nil
|
||||
end
|
||||
end
|
||||
return vim.F.if_nil(unpack(args, 1, nargs))
|
||||
return vim.nonnil(unpack(args, 1, nargs))
|
||||
]],
|
||||
...
|
||||
)
|
||||
@@ -2997,12 +3005,33 @@ describe('lua stdlib', function()
|
||||
local b = NIL
|
||||
local c = 42
|
||||
local d = false
|
||||
eq(42, if_nil(a, c))
|
||||
eq(false, if_nil(d, b))
|
||||
eq(42, if_nil(a, b, c, d))
|
||||
eq(false, if_nil(d))
|
||||
eq(false, if_nil(d, c))
|
||||
eq(NIL, if_nil(a))
|
||||
eq(42, nonnil(a, c))
|
||||
eq(false, nonnil(d, b))
|
||||
eq(42, nonnil(a, b, c, d))
|
||||
eq(false, nonnil(d))
|
||||
eq(false, nonnil(d, c))
|
||||
eq(NIL, nonnil(a))
|
||||
end)
|
||||
|
||||
it('vim.npcall', function()
|
||||
-- No error
|
||||
eq(
|
||||
{ '123', 'test' },
|
||||
exec_lua(function()
|
||||
local function swap_args(a, b)
|
||||
return b, a
|
||||
end
|
||||
return { vim.npcall(swap_args, 'test', '123') }
|
||||
end)
|
||||
)
|
||||
|
||||
-- Error
|
||||
eq(
|
||||
nil,
|
||||
exec_lua(function()
|
||||
return vim.npcall(error, 'error')
|
||||
end)
|
||||
)
|
||||
end)
|
||||
|
||||
it('lpeg', function()
|
||||
|
||||
Reference in New Issue
Block a user