test: 'shadafile' default

ref 773bdd41ec
This commit is contained in:
Justin M. Keyes
2019-04-16 21:33:40 +02:00
parent 9d77a07686
commit f0a7e3fc9a
4 changed files with 50 additions and 22 deletions

View File

@@ -5049,7 +5049,7 @@ A jump table for the options with a short description can be found at |Q_op|.
security reasons. security reasons.
*'shadafile'* *'sdf'* *'shadafile'* *'sdf'*
'shadafile' 'vif' string (default: "") 'shadafile' 'sdf' string (default: "")
global global
When non-empty, overrides the file name used for |shada| (viminfo). When non-empty, overrides the file name used for |shada| (viminfo).
When equal to "NONE" no shada file will be read or written. When equal to "NONE" no shada file will be read or written.

View File

@@ -1081,15 +1081,16 @@ even if other entries (with known name/type/etc) are merged. |shada-merging|
SHADA FILE NAME *shada-file-name* SHADA FILE NAME *shada-file-name*
- The default name of the ShaDa file is "$XDG_DATA_HOME/nvim/shada/main.shada" - Default name of the |shada| file is:
for Unix. Default for $XDG_DATA_HOME is ~/.local/share. |base-directories| Unix: "$XDG_DATA_HOME/nvim/shada/main.shada"
- The 'n' flag in the 'shada' option can be used to specify another ShaDa Windows: "$XDG_DATA_HOME/nvim-data/shada/main.shada"
file name |'shada'|. See also |base-directories|.
- The "-i" Vim argument can be used to set another file name, |-i|. When the - To choose a different file name you can use:
file name given is "NONE" (all uppercase), no ShaDa file is ever read or - The "n" flag in the 'shada' option.
- The |-i| startup argument. "NONE" means no shada file is ever read or
written. Also not for the commands below! written. Also not for the commands below!
- The 'viminfofile' option can be used like the "-i" argument. In fact, the - The 'shadafile' option. The value from the "-i" argument (if any) is
value form the "-i" argument is stored in the 'viminfofile' option. stored in the 'shadafile' option.
- For the commands below, another file name can be given, overriding the - For the commands below, another file name can be given, overriding the
default and the name given with 'shada' or "-i" (unless it's NONE). default and the name given with 'shada' or "-i" (unless it's NONE).

View File

@@ -351,12 +351,13 @@ end
-- Starts a new global Nvim session. -- Starts a new global Nvim session.
-- Parameters are interpreted as startup args, OR a map with these keys: -- Parameters are interpreted as startup args, OR a map with these keys:
-- args: Merged with the default `nvim_argv` set. -- args: Appended to the default `nvim_argv` set.
-- env : Defines the environment of the new session. -- env : Defines the environment of the new session.
-- headless: Append --headless arg.
-- --
-- Example: -- Example:
-- clear('-e') -- clear('-e')
-- clear({args={'-e'}, env={TERM=term}}) -- clear{args={'-e'}, env={TERM=term}}
local function clear(...) local function clear(...)
local args = {unpack(nvim_argv)} local args = {unpack(nvim_argv)}
local new_args local new_args

View File

@@ -15,6 +15,9 @@ local neq = helpers.neq
local mkdir = helpers.mkdir local mkdir = helpers.mkdir
local rmdir = helpers.rmdir local rmdir = helpers.rmdir
local alter_slashes = helpers.alter_slashes local alter_slashes = helpers.alter_slashes
local spawn = helpers.spawn
local nvim_prog = helpers.nvim_prog
local set_session = helpers.set_session
describe('startup defaults', function() describe('startup defaults', function()
describe(':filetype', function() describe(':filetype', function()
@@ -160,20 +163,43 @@ describe('startup defaults', function()
end) end)
end) end)
describe("'packpath'", function() it("'shadafile' ('viminfofile')", function()
it('defaults to &runtimepath', function() -- Cannot use clear() because we do not want "-i NONE".
eq(meths.get_option('runtimepath'), meths.get_option('packpath')) local function clear_use_default_shada()
set_session(spawn({nvim_prog, '-u', 'NONE', '--embed', '--headless'},
false,
{XDG_DATA_HOME='Xtest-userdata',
XDG_CONFIG_HOME='Xtest-userconfig'}))
end
clear_use_default_shada()
-- Default 'shadafile' is empty.
-- This means use the default location. :help shada-file-name
eq('', meths.get_option('shadafile'))
eq('', meths.get_option('viminfofile'))
-- Check that shada data (such as v:oldfiles) is saved/restored.
command('edit foo')
command('write')
local f = eval('fnamemodify(@%,":p")')
assert(string.len(f) > 3)
command('qall')
clear_use_default_shada()
eq({ f }, eval('v:oldfiles'))
end) end)
it('does not follow modifications to runtimepath', function() it("'packpath'", function()
clear()
-- Defaults to &runtimepath.
eq(meths.get_option('runtimepath'), meths.get_option('packpath'))
-- Does not follow modifications to runtimepath.
meths.command('set runtimepath+=foo') meths.command('set runtimepath+=foo')
neq(meths.get_option('runtimepath'), meths.get_option('packpath')) neq(meths.get_option('runtimepath'), meths.get_option('packpath'))
meths.command('set packpath+=foo') meths.command('set packpath+=foo')
eq(meths.get_option('runtimepath'), meths.get_option('packpath')) eq(meths.get_option('runtimepath'), meths.get_option('packpath'))
end) end)
end)
it('v:progpath is set to the absolute path', function() it('v:progpath is set to the absolute path', function()
clear()
eq(eval("fnamemodify(v:progpath, ':p')"), eval('v:progpath')) eq(eval("fnamemodify(v:progpath, ':p')"), eval('v:progpath'))
end) end)