diff options
Diffstat (limited to 'test/functional/shada/helpers.lua')
-rw-r--r-- | test/functional/shada/helpers.lua | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/functional/shada/helpers.lua b/test/functional/shada/helpers.lua new file mode 100644 index 0000000000..7e93fcb915 --- /dev/null +++ b/test/functional/shada/helpers.lua @@ -0,0 +1,53 @@ +local helpers = require('test.functional.helpers') +local spawn, set_session, nvim, nvim_prog = + helpers.spawn, helpers.set_session, helpers.nvim, helpers.nvim_prog + +local tmpname = os.tmpname() +local additional_cmd = '' + +local function nvim_argv() + local ret + local nvim_argv = {nvim_prog, '-u', 'NONE', '-i', tmpname, '-N', + '--cmd', 'set shortmess+=I background=light noswapfile', + '--cmd', additional_cmd, + '--embed'} + if helpers.prepend_argv then + ret = {} + for i, v in ipairs(helpers.prepend_argv) do + ret[i] = v + end + local shift = #ret + for i, v in ipairs(nvim_argv) do + ret[i + shift] = v + end + else + ret = nvim_argv + end + return ret +end + +local session = nil + +local reset = function() + if session then + session:exit(0) + end + session = spawn(nvim_argv()) + set_session(session) + nvim('set_var', 'tmpname', tmpname) +end + +local set_additional_cmd = function(s) + additional_cmd = s +end + +local clear = function() + os.remove(tmpname) + set_additional_cmd('') +end + +return { + reset=reset, + set_additional_cmd=set_additional_cmd, + clear=clear, +} |