mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
tests: Add tests for partials dumping
Also fixed dumping of partials by encode_vim_to_object and added code which is able to work with partials and dictionaries to test/unit/eval/helpers.lua (mostly copied from #5119, except for partials handling).
This commit is contained in:
@@ -7,6 +7,7 @@ local NULL = helpers.NULL
|
||||
local eq = helpers.eq
|
||||
|
||||
local lua2typvalt = eval_helpers.lua2typvalt
|
||||
local typvalt2lua = eval_helpers.typvalt2lua
|
||||
local typvalt = eval_helpers.typvalt
|
||||
|
||||
local nil_value = api_helpers.nil_value
|
||||
@@ -14,6 +15,7 @@ local list_type = api_helpers.list_type
|
||||
local int_type = api_helpers.int_type
|
||||
local type_key = api_helpers.type_key
|
||||
local obj2lua = api_helpers.obj2lua
|
||||
local func_type = api_helpers.func_type
|
||||
|
||||
local api = cimport('./src/nvim/api/private/helpers.h')
|
||||
|
||||
@@ -85,4 +87,20 @@ describe('vim_to_object', function()
|
||||
eq(nil, tt.vval.v_dict)
|
||||
eq({}, obj2lua(api.vim_to_object(tt)))
|
||||
end)
|
||||
|
||||
it('regression: partials in a list', function()
|
||||
local llist = {
|
||||
{
|
||||
[type_key]=func_type,
|
||||
value='printf',
|
||||
args={'%s'},
|
||||
dict={v=1},
|
||||
},
|
||||
{},
|
||||
}
|
||||
local ffi=require'ffi'
|
||||
local list = lua2typvalt(llist)
|
||||
eq(llist, typvalt2lua(list))
|
||||
eq({nil_value, {}}, obj2lua(api.vim_to_object(list)))
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user