mirror of
https://github.com/neovim/neovim.git
synced 2026-01-23 05:32:45 +10:00
It is a wrong thing to do, this makes valid variable values be treated
incorrectly: in
XDG_DATA_HOME='/home/$foo/.local/share'
`$foo` should be treated literally and not expanded to `foo` environment
variable value.
Also makes option_expand not try to expand too long strings even if these too
long strings are default values. Previously it thought that default values
should always be expanded. Also does not try to expand NULL should it be the
default value just in case.
Fixes #4961
79 lines
2.4 KiB
Lua
79 lines
2.4 KiB
Lua
local helpers = require('test.functional.helpers')(after_each)
|
|
local Screen = require('test.functional.ui.screen')
|
|
local eval, eq = helpers.eval, helpers.eq
|
|
local execute = helpers.execute
|
|
|
|
local function init_session(...)
|
|
local args = { helpers.nvim_prog, '-i', 'NONE', '--embed',
|
|
'--cmd', 'set shortmess+=I background=light noswapfile noautoindent',
|
|
'--cmd', 'set laststatus=1 undodir=. directory=. viewdir=. backupdir=.'
|
|
}
|
|
for _, v in ipairs({...}) do
|
|
table.insert(args, v)
|
|
end
|
|
helpers.set_session(helpers.spawn(args))
|
|
end
|
|
|
|
describe('startup defaults', function()
|
|
describe(':filetype', function()
|
|
local function expect_filetype(expected)
|
|
local screen = Screen.new(48, 4)
|
|
screen:attach()
|
|
execute('filetype')
|
|
screen:expect([[
|
|
^ |
|
|
~ |
|
|
~ |
|
|
]]..expected
|
|
)
|
|
end
|
|
|
|
it('enabled by `-u NORC`', function()
|
|
init_session('-u', 'NORC')
|
|
expect_filetype(
|
|
'filetype detection:ON plugin:ON indent:ON |')
|
|
end)
|
|
|
|
it('disabled by `-u NONE`', function()
|
|
init_session('-u', 'NONE')
|
|
expect_filetype(
|
|
'filetype detection:OFF plugin:OFF indent:OFF |')
|
|
end)
|
|
|
|
it('overridden by early `filetype on`', function()
|
|
init_session('-u', 'NORC', '--cmd', 'filetype on')
|
|
expect_filetype(
|
|
'filetype detection:ON plugin:OFF indent:OFF |')
|
|
end)
|
|
|
|
it('overridden by early `filetype plugin on`', function()
|
|
init_session('-u', 'NORC', '--cmd', 'filetype plugin on')
|
|
expect_filetype(
|
|
'filetype detection:ON plugin:ON indent:OFF |')
|
|
end)
|
|
|
|
it('overridden by early `filetype indent on`', function()
|
|
init_session('-u', 'NORC', '--cmd', 'filetype indent on')
|
|
expect_filetype(
|
|
'filetype detection:ON plugin:OFF indent:ON |')
|
|
end)
|
|
end)
|
|
|
|
describe('syntax', function()
|
|
it('enabled by `-u NORC`', function()
|
|
init_session('-u', 'NORC')
|
|
eq(1, eval('g:syntax_on'))
|
|
end)
|
|
|
|
it('disabled by `-u NONE`', function()
|
|
init_session('-u', 'NONE')
|
|
eq(0, eval('exists("g:syntax_on")'))
|
|
end)
|
|
|
|
it('overridden by early `syntax off`', function()
|
|
init_session('-u', 'NORC', '--cmd', 'syntax off')
|
|
eq(0, eval('exists("g:syntax_on")'))
|
|
end)
|
|
end)
|
|
end)
|