diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2018-12-27 22:49:44 +0100 |
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2018-12-27 22:49:44 +0100 |
| commit | c1015121ec626cab6cb384f544bc0be1a1760c0e (patch) | |
| tree | 6cc9a5d1899a4486a24c491e07d17a7dd01f9503 /test/functional/core | |
| parent | 4f030ec24e0e148bbb83aedaef7dd629e5fef130 (diff) | |
| parent | e1876c7ad1b5e30c0a9919e2c4587d11550c8507 (diff) | |
| download | rneovim-c1015121ec626cab6cb384f544bc0be1a1760c0e.tar.gz rneovim-c1015121ec626cab6cb384f544bc0be1a1760c0e.tar.bz2 rneovim-c1015121ec626cab6cb384f544bc0be1a1760c0e.zip | |
Merge 'upstream/master' into pr-win-erw7
Diffstat (limited to 'test/functional/core')
| -rw-r--r-- | test/functional/core/job_spec.lua | 12 | ||||
| -rw-r--r-- | test/functional/core/main_spec.lua | 4 | ||||
| -rw-r--r-- | test/functional/core/startup_spec.lua | 59 |
3 files changed, 73 insertions, 2 deletions
diff --git a/test/functional/core/job_spec.lua b/test/functional/core/job_spec.lua index 34168e10c2..eb02610df0 100644 --- a/test/functional/core/job_spec.lua +++ b/test/functional/core/job_spec.lua @@ -17,6 +17,7 @@ local pathroot = helpers.pathroot local nvim_set = helpers.nvim_set local expect_twostreams = helpers.expect_twostreams local expect_msg_seq = helpers.expect_msg_seq +local expect_err = helpers.expect_err local Screen = require('test.functional.ui.screen') -- Kill process with given pid @@ -115,6 +116,17 @@ describe('jobs', function() ok(string.find(err, "E475: Invalid argument: expected valid directory$") ~= nil) end) + it('produces error when using non-executable `cwd`', function() + if iswin() then return end -- N/A for Windows + + local dir = 'Xtest_not_executable_dir' + mkdir(dir) + funcs.setfperm(dir, 'rw-------') + expect_err('E475: Invalid argument: expected valid directory$', nvim, + 'command', "call jobstart('pwd', {'cwd': '" .. dir .. "'})") + rmdir(dir) + end) + it('returns 0 when it fails to start', function() eq("", eval("v:errmsg")) feed_command("let g:test_jobid = jobstart([])") diff --git a/test/functional/core/main_spec.lua b/test/functional/core/main_spec.lua index cd396ef820..a0981e9207 100644 --- a/test/functional/core/main_spec.lua +++ b/test/functional/core/main_spec.lua @@ -77,8 +77,8 @@ describe('Command-line option', function() | | ]], { - [1] = {foreground = 4210943, special = Screen.colors.Grey0}, - [2] = {special = Screen.colors.Grey0, bold = true, reverse = true} + [1] = {foreground = 4210943}, + [2] = {bold = true, reverse = true} }) feed('i:cq<CR>') screen:expect([[ 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) |