Files
vim-mirror/src/testdir/test_set.vim
T
Christian Brabandt b0905e269d patch 9.1.1524: tests: too many imports in the test suite
Problem:  tests: too many imports in the test suite
Solution: Clean up the imported scripts

Most tests make use of check.vim, so let's just source it once in
runtest.vim instead of having each test manually source it.

runtest.vim already sources shared.vim, which again sources
view_util.vim, so we don't need to source those two common
dependencies in all the other tests

And then check.vim sources term_util.vim already, so we can in addition
drop sourcing it explicitly in each single test script.

Note: test_expand_func.vim had to be updated to account for the changed
number of sourced files.

And finally check.vim uses line-continuation so let's also explicitly
enable line continuation via the 'cpo' option value.

related: #17677

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-07-07 20:39:29 +02:00

77 lines
1.8 KiB
VimL

" Tests for the :set command
function Test_set_backslash()
let isk_save = &isk
set isk=a,b,c
set isk+=d
call assert_equal('a,b,c,d', &isk)
set isk+=\\,e
call assert_equal('a,b,c,d,\,e', &isk)
set isk-=e
call assert_equal('a,b,c,d,\', &isk)
set isk-=\\
call assert_equal('a,b,c,d', &isk)
let &isk = isk_save
endfunction
function Test_set_add()
let wig_save = &wig
set wildignore=*.png,
set wildignore+=*.jpg
call assert_equal('*.png,*.jpg', &wig)
let &wig = wig_save
endfunction
" :set, :setlocal, :setglobal without arguments show values of options.
func Test_set_no_arg()
set textwidth=79
let a = execute('set')
call assert_match("^\n--- Options ---\n.*textwidth=79\\>", a)
set textwidth&
setlocal textwidth=78
let a = execute('setlocal')
call assert_match("^\n--- Local option values ---\n.*textwidth=78\\>", a)
setlocal textwidth&
setglobal textwidth=77
let a = execute('setglobal')
call assert_match("^\n--- Global option values ---\n.*textwidth=77\\>", a)
setglobal textwidth&
endfunc
func Test_set_termcap()
CheckNotGui
let lines = split(execute('set termcap'), "\n")
call assert_match('--- Terminal codes ---', lines[0])
" four columns
call assert_match('t_..=.*t_..=.*t_..=.*t_..=', lines[1])
for keys_idx in range(len(lines))
if lines[keys_idx] =~ '--- Terminal keys ---'
break
endif
endfor
call assert_true(keys_idx < len(lines))
" three columns
call assert_match('<[^>]*> .*<[^>]*> .*<[^>]*> ', lines[keys_idx + 1])
let more_lines = split(execute('set! termcap'), "\n")
for i in range(len(more_lines))
if more_lines[i] =~ '--- Terminal keys ---'
break
endif
endfor
call assert_true(i < len(more_lines))
call assert_true(i > keys_idx)
call assert_true(len(more_lines) - i > len(lines) - keys_idx)
endfunc
" vim: shiftwidth=2 sts=2 expandtab