unittests: Add tests for tv_list_idx_of_item

This commit is contained in:
ZyX 2016-11-05 00:07:34 +03:00
parent e5edf07ec4
commit 56e51033ab
2 changed files with 17 additions and 1 deletions

View File

@ -774,7 +774,7 @@ long tv_list_idx_of_item(const list_T *const l, const listitem_T *const item)
return -1;
}
long idx = 0;
listitem_T *li;
const listitem_T *li;
for (li = l->lv_first; li != NULL && li != item; li = li->li_next) {
idx++;
}

View File

@ -1324,5 +1324,21 @@ describe('typval.c', function()
end)
end)
end)
describe('idx_of_item()', function()
it('works', function()
local l = list(1, 2, 3, 4, 5)
local l2 = list(42, empty_list)
local lis = list_items(l)
local lis2 = list_items(l2)
for i, li in ipairs(lis) do
eq(i - 1, lib.tv_list_idx_of_item(l, li))
end
eq(-1, lib.tv_list_idx_of_item(l, lis2[1]))
eq(-1, lib.tv_list_idx_of_item(l, nil))
eq(-1, lib.tv_list_idx_of_item(nil, nil))
eq(-1, lib.tv_list_idx_of_item(nil, lis[1]))
end)
end)
end)
end)