api: Replace set_var(name, NIL) with del_var(name)

This commit is contained in:
ZyX
2016-02-11 02:01:17 +03:00
parent af6603a6b4
commit f1ced96c28
11 changed files with 110 additions and 17 deletions

View File

@@ -4,6 +4,8 @@ local Screen = require('test.functional.ui.screen')
local clear, nvim, eq, neq = helpers.clear, helpers.nvim, helpers.eq, helpers.neq
local ok, nvim_async, feed = helpers.ok, helpers.nvim_async, helpers.feed
local os_name = helpers.os_name
local meths = helpers.meths
local funcs = helpers.funcs
describe('vim_* functions', function()
before_each(clear)
@@ -70,11 +72,14 @@ describe('vim_* functions', function()
end)
end)
describe('{get,set}_var', function()
describe('{get,set,del}_var', function()
it('works', function()
nvim('set_var', 'lua', {1, 2, {['3'] = 1}})
eq({1, 2, {['3'] = 1}}, nvim('get_var', 'lua'))
eq({1, 2, {['3'] = 1}}, nvim('eval', 'g:lua'))
eq(1, funcs.exists('g:lua'))
meths.del_var('lua')
eq(0, funcs.exists('g:lua'))
end)
it('set_var returns the old value', function()
@@ -84,6 +89,14 @@ describe('vim_* functions', function()
eq(val1, nvim('set_var', 'lua', val2))
end)
it('del_var returns the old value', function()
local val1 = {1, 2, {['3'] = 1}}
local val2 = {4, 7}
eq(nil, meths.set_var('lua', val1))
eq(val1, meths.set_var('lua', val2))
eq(val2, meths.del_var('lua'))
end)
it('truncates values with NULs in them', function()
nvim('set_var', 'xxx', 'ab\0cd')
eq('ab', nvim('get_var', 'xxx'))