diff options
author | ZyX <kp-pav@yandex.ru> | 2016-06-11 20:44:27 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2016-06-24 16:53:26 +0300 |
commit | 2968dc7bddbe56719bbb918f712de866fa6c230e (patch) | |
tree | da39820853d92b4339f0decac50eb1fe472ab46f | |
parent | 554005ea9ab7ae603ad59b69b920412524b13a45 (diff) | |
download | rneovim-2968dc7bddbe56719bbb918f712de866fa6c230e.tar.gz rneovim-2968dc7bddbe56719bbb918f712de866fa6c230e.tar.bz2 rneovim-2968dc7bddbe56719bbb918f712de866fa6c230e.zip |
fixup! unittests: Add tests for vim_to_object function
-rw-r--r-- | test/unit/api/helpers.lua | 8 | ||||
-rw-r--r-- | test/unit/api/private_helpers_spec.lua | 19 | ||||
-rw-r--r-- | test/unit/eval/helpers.lua | 13 |
3 files changed, 25 insertions, 15 deletions
diff --git a/test/unit/api/helpers.lua b/test/unit/api/helpers.lua index 8ef133fd39..13964d3b9b 100644 --- a/test/unit/api/helpers.lua +++ b/test/unit/api/helpers.lua @@ -8,6 +8,7 @@ local ffi = helpers.ffi local list_type = eval_helpers.list_type local dict_type = eval_helpers.dict_type local func_type = eval_helpers.func_type +local nil_value = eval_helpers.nil_value local int_type = eval_helpers.int_type local flt_type = eval_helpers.flt_type local type_key = eval_helpers.type_key @@ -45,7 +46,7 @@ local obj2lua_tab = { end end, [tonumber(api.kObjectTypeNil)] = function(obj) - return NIL + return nil_value end, [tonumber(api.kObjectTypeFloat)] = function(obj) return tonumber(obj.data.floating) @@ -132,7 +133,7 @@ lua2obj = function(l) size=#l, data=eval.xmemdupz(to_cstr(l), #l), }}) - elseif l == nil or l == NIL then + elseif l == nil or l == nil_value then return obj(api.kObjectTypeNil, {integer=0}) end end @@ -143,6 +144,9 @@ return { func_type=func_type, int_type=int_type, flt_type=flt_type, + + nil_value=nil_value, + type_key=type_key, obj2lua=obj2lua, diff --git a/test/unit/api/private_helpers_spec.lua b/test/unit/api/private_helpers_spec.lua index 218c12a73c..1d7c03787b 100644 --- a/test/unit/api/private_helpers_spec.lua +++ b/test/unit/api/private_helpers_spec.lua @@ -9,6 +9,7 @@ local eq = helpers.eq local lua2typvalt = eval_helpers.lua2typvalt local typvalt = eval_helpers.typvalt +local nil_value = api_helpers.nil_value local list_type = api_helpers.list_type local int_type = api_helpers.int_type local type_key = api_helpers.type_key @@ -33,7 +34,7 @@ describe('vim_to_object', function() simple_test('converts true', true) simple_test('converts false', false) - simple_test('converts nil', NIL) + simple_test('converts nil', nil_value) simple_test('converts 1', 1) simple_test('converts -1.5', -1.5) simple_test('converts empty string', '') @@ -48,30 +49,30 @@ describe('vim_to_object', function() local dct = {} dct.dct = dct - different_output_test('outputs nil for nested dictionaries (1 level)', dct, {dct=NIL}) + different_output_test('outputs nil for nested dictionaries (1 level)', dct, {dct=nil_value}) local lst = {} lst[1] = lst - different_output_test('outputs nil for nested lists (1 level)', lst, {NIL}) + different_output_test('outputs nil for nested lists (1 level)', lst, {nil_value}) - local dct2 = {test=true, dict=NIL} + local dct2 = {test=true, dict=nil_value} dct2.dct = {dct2} different_output_test('outputs nil for nested dictionaries (2 level, in list)', - dct2, {dct={NIL}, test=true, dict=NIL}) + dct2, {dct={nil_value}, test=true, dict=nil_value}) - local dct3 = {test=true, dict=NIL} + local dct3 = {test=true, dict=nil_value} dct3.dct = {dctin=dct3} different_output_test('outputs nil for nested dictionaries (2 level, in dict)', - dct3, {dct={dctin=NIL}, test=true, dict=NIL}) + dct3, {dct={dctin=nil_value}, test=true, dict=nil_value}) local lst2 = {} lst2[1] = {lst2} - different_output_test('outputs nil for nested lists (2 level, in list)', lst2, {{NIL}}) + different_output_test('outputs nil for nested lists (2 level, in list)', lst2, {{nil_value}}) local lst3 = {nil, true, false, 'ttest'} lst3[1] = {lst=lst3} different_output_test('outputs nil for nested lists (2 level, in dict)', - lst3, {{lst=NIL}, true, false, 'ttest'}) + lst3, {{lst=nil_value}, true, false, 'ttest'}) it('outputs empty list for NULL list', function() local tt = typvalt('VAR_LIST', {v_list=NULL}) diff --git a/test/unit/eval/helpers.lua b/test/unit/eval/helpers.lua index 528657320b..49df3ca119 100644 --- a/test/unit/eval/helpers.lua +++ b/test/unit/eval/helpers.lua @@ -16,6 +16,8 @@ local func_type = {[true]='func type'} local int_type = {[true]='int type'} local flt_type = {[true]='flt type'} +local nil_value = {[true]='nil'} + local function list(...) local ret = ffi.gc(eval.list_alloc(), eval.list_unref) eq(0, ret.lv_refcount) @@ -43,7 +45,7 @@ end local special_tab = { [eval.kSpecialVarFalse] = false, - [eval.kSpecialVarNull] = NIL, + [eval.kSpecialVarNull] = nil_value, [eval.kSpecialVarTrue] = true, } @@ -163,7 +165,9 @@ local lua2typvalt_type_tab = { lua2typvalt = function(l, processed) processed = processed or {} - if type(l) == 'table' then + if l == nil or l == nil_value then + return typvalt(eval.VAR_SPECIAL, {v_special=eval.kSpecialVarNull}) + elseif type(l) == 'table' then if l[type_key] then return lua2typvalt_type_tab[l[type_key]](l, processed) else @@ -181,8 +185,6 @@ lua2typvalt = function(l, processed) }) elseif type(l) == 'string' then return typvalt(eval.VAR_STRING, {v_string=eval.xmemdupz(to_cstr(l), #l)}) - elseif l == nil or l == NIL then - return typvalt(eval.VAR_SPECIAL, {v_special=eval.kSpecialVarNull}) end end @@ -194,6 +196,9 @@ return { func_type=func_type, int_type=int_type, flt_type=flt_type, + + nil_value=nil_value, + type_key=type_key, list=list, |