neovim/test/functional/legacy/options_spec.lua
bfredl e61228a214 fix(tests): needing two calls to setup a screen is cringe
Before calling "attach" a screen object is just a dummy container for
(row, col) values whose purpose is to be sent as part of the "attach"
function call anyway.

Just create the screen in an attached state directly. Keep the complete
(row, col, options) config together. It is still completely valid to
later detach and re-attach as needed, including to another session.
2024-11-14 12:40:57 +01:00

81 lines
1.9 KiB
Lua

-- See also: test/old/testdir/test_options.vim
local t = require('test.testutil')
local n = require('test.functional.testnvim')()
local Screen = require('test.functional.ui.screen')
local command, clear = n.command, n.clear
local source, expect = n.source, n.expect
local exc_exec = n.exc_exec
local matches = t.matches
describe('options', function()
setup(clear)
it('should not throw any exception', function()
command('options')
end)
end)
describe('set', function()
before_each(clear)
it("should keep two comma when 'path' is changed", function()
source([[
set path=foo,,bar
set path-=bar
set path+=bar
$put =&path]])
expect([[
foo,,bar]])
end)
it('winminheight works', function()
local _ = Screen.new(20, 11)
source([[
set wmh=0 stal=2
below sp | wincmd _
below sp | wincmd _
below sp | wincmd _
below sp
]])
matches('E36: Not enough room', exc_exec('set wmh=1'))
end)
it('winminheight works with tabline', function()
local _ = Screen.new(20, 11)
source([[
set wmh=0 stal=2
split
split
split
split
tabnew
]])
matches('E36: Not enough room', exc_exec('set wmh=1'))
end)
it('scroll works', function()
local screen = Screen.new(42, 16)
source([[
set scroll=2
set laststatus=2
]])
command('verbose set scroll?')
screen:expect([[
|
{1:~ }|*11
{3: }|
scroll=7 |
Last set from changed window size |
{6:Press ENTER or type command to continue}^ |
]])
end)
it('foldcolumn and signcolumn to empty string is disallowed', function()
matches('E474: Invalid argument: fdc=', exc_exec('set fdc='))
matches('E474: Invalid argument: scl=', exc_exec('set scl='))
end)
end)