aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/vim_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/lua/vim_spec.lua')
-rw-r--r--test/functional/lua/vim_spec.lua35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua
index b8cc15b2ca..42927f7e1b 100644
--- a/test/functional/lua/vim_spec.lua
+++ b/test/functional/lua/vim_spec.lua
@@ -3416,6 +3416,41 @@ describe('lua stdlib', function()
{ item_3 = 'test' },
}, output)
end)
+
+ it('handles nil values', function()
+ local t = {1, 2, 3, 4, 5}
+ do
+ local it = vim.iter(t):enumerate():map(function(i, v)
+ if i % 2 == 0 then
+ return nil, v*v
+ end
+ return v, nil
+ end)
+ eq({
+ { [1] = 1 },
+ { [2] = 4 },
+ { [1] = 3 },
+ { [2] = 16 },
+ { [1] = 5 },
+ }, it:totable())
+ end
+
+ do
+ local it = vim.iter(ipairs(t)):map(function(i, v)
+ if i % 2 == 0 then
+ return nil, v*v
+ end
+ return v, nil
+ end)
+ eq({
+ { [1] = 1 },
+ { [2] = 4 },
+ { [1] = 3 },
+ { [2] = 16 },
+ { [1] = 5 },
+ }, it:totable())
+ end
+ end)
end)
end)