aboutsummaryrefslogtreecommitdiff
path: root/test/functional/lua/mpack_spec.lua
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-09-04 17:39:22 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2021-09-09 16:06:43 +0200
commit0f596665ccb6f1764c2f14b8742850ab06cb9228 (patch)
tree31c636efc8b0c3ff0cb304a728d9f585e309a5a9 /test/functional/lua/mpack_spec.lua
parenteaf661dacd74b098de768ddc459ae2e68bb6d668 (diff)
downloadrneovim-0f596665ccb6f1764c2f14b8742850ab06cb9228.tar.gz
rneovim-0f596665ccb6f1764c2f14b8742850ab06cb9228.tar.bz2
rneovim-0f596665ccb6f1764c2f14b8742850ab06cb9228.zip
feat(lua): make vim.mpack support vim.NIL and vim.empty_dict()
Diffstat (limited to 'test/functional/lua/mpack_spec.lua')
-rw-r--r--test/functional/lua/mpack_spec.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/functional/lua/mpack_spec.lua b/test/functional/lua/mpack_spec.lua
new file mode 100644
index 0000000000..ef693f01f3
--- /dev/null
+++ b/test/functional/lua/mpack_spec.lua
@@ -0,0 +1,23 @@
+-- Test suite for testing interactions with API bindings
+local helpers = require('test.functional.helpers')(after_each)
+
+local clear = helpers.clear
+local eq = helpers.eq
+local exec_lua = helpers.exec_lua
+
+describe('lua vim.mpack', function()
+ before_each(clear)
+ it('can pack vim.NIL', function()
+ eq({true, true, true, true}, exec_lua [[
+ local var = vim.mpack.unpack(vim.mpack.pack({33, vim.NIL, 77}))
+ return {var[1]==33, var[2]==vim.NIL, var[3]==77, var[4]==nil}
+ ]])
+ end)
+
+ it('can pack vim.empty_dict()', function()
+ eq({{{}, "foo", {}}, true, false}, exec_lua [[
+ local var = vim.mpack.unpack(vim.mpack.pack({{}, "foo", vim.empty_dict()}))
+ return {var, vim.tbl_islist(var[1]), vim.tbl_islist(var[3])}
+ ]])
+ end)
+end)