aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2018-12-16 13:20:54 -0500
committerGitHub <noreply@github.com>2018-12-16 13:20:54 -0500
commit7a8dadbedb0ba15e67b198774bb87caad1e22828 (patch)
tree9748153d46706a868a1ce39a4912e79b1643c8ce /test
parentb48efd9ba7bf1d317dcf231e3e595988537a5cf9 (diff)
parent314f6ea3678c09f9824242a10abbe4a2fb2ccff3 (diff)
downloadrneovim-7a8dadbedb0ba15e67b198774bb87caad1e22828.tar.gz
rneovim-7a8dadbedb0ba15e67b198774bb87caad1e22828.tar.bz2
rneovim-7a8dadbedb0ba15e67b198774bb87caad1e22828.zip
Merge pull request #9077 from jamessan/xdg-sysinit
startup: Use $XDG_CONFIG_DIRS/nvim/sysinit.vim if it exists
Diffstat (limited to 'test')
-rw-r--r--test/functional/core/startup_spec.lua59
1 files changed, 59 insertions, 0 deletions
diff --git a/test/functional/core/startup_spec.lua b/test/functional/core/startup_spec.lua
index 15121261c7..8edb8fc014 100644
--- a/test/functional/core/startup_spec.lua
+++ b/test/functional/core/startup_spec.lua
@@ -7,12 +7,17 @@ local eq = helpers.eq
local eval = helpers.eval
local feed = helpers.feed
local funcs = helpers.funcs
+local mkdir = helpers.mkdir
local nvim_prog = helpers.nvim_prog
local nvim_set = helpers.nvim_set
local read_file = helpers.read_file
local retry = helpers.retry
+local rmdir = helpers.rmdir
+local set_session = helpers.set_session
local sleep = helpers.sleep
+local spawn = helpers.spawn
local iswin = helpers.iswin
+local write_file = helpers.write_file
describe('startup', function()
before_each(function()
@@ -204,3 +209,57 @@ describe('startup', function()
end)
end)
+describe('sysinit', function()
+ local xdgdir = 'Xxdg'
+ local vimdir = 'Xvim'
+ local xhome = 'Xhome'
+ local pathsep = helpers.get_pathsep()
+ local argv = {
+ nvim_prog, '--headless', '--embed', '-i', 'NONE', '-n',
+ '--cmd', 'set nomore undodir=. directory=. belloff='
+ }
+
+ before_each(function()
+ rmdir(xdgdir)
+ rmdir(vimdir)
+ rmdir(xhome)
+
+ mkdir(xdgdir)
+ mkdir(xdgdir .. pathsep .. 'nvim')
+ write_file(table.concat({xdgdir, 'nvim', 'sysinit.vim'}, pathsep), [[
+ let g:loaded = get(g:, "loaded", 0) + 1
+ let g:xdg = 1
+ ]])
+
+ mkdir(vimdir)
+ write_file(table.concat({vimdir, 'sysinit.vim'}, pathsep), [[
+ let g:loaded = get(g:, "loaded", 0) + 1
+ let g:vim = 1
+ ]])
+
+ mkdir(xhome)
+ end)
+ after_each(function()
+ rmdir(xdgdir)
+ rmdir(vimdir)
+ rmdir(xhome)
+ end)
+
+ it('prefers XDG_CONFIG_DIRS over VIM', function()
+ set_session(spawn(argv, nil,
+ { 'HOME='..xhome,
+ 'XDG_CONFIG_DIRS='..xdgdir,
+ 'VIM='..vimdir }))
+ eq('loaded 1 xdg 1 vim 0',
+ eval('printf("loaded %d xdg %d vim %d", g:loaded, get(g:, "xdg", 0), get(g:, "vim", 0))'))
+ end)
+
+ it('uses VIM if XDG_CONFIG_DIRS unset', function()
+ set_session(spawn(argv, nil,
+ { 'HOME='..xhome,
+ 'XDG_CONFIG_DIRS=',
+ 'VIM='..vimdir }))
+ eq('loaded 1 xdg 0 vim 1',
+ eval('printf("loaded %d xdg %d vim %d", g:loaded, get(g:, "xdg", 0), get(g:, "vim", 0))'))
+ end)
+end)