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:
ZyX
2017-01-03 22:51:29 +03:00
parent efc624c2fe
commit 136b382e64
7 changed files with 289 additions and 48 deletions

View File

@@ -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)