mirror of
https://github.com/vim/vim.git
synced 2026-05-25 19:47:15 +02:00
b0905e269d
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>
121 lines
3.1 KiB
VimL
121 lines
3.1 KiB
VimL
" Test 'autochdir' behavior
|
|
|
|
CheckOption autochdir
|
|
|
|
func Test_set_filename()
|
|
let cwd = getcwd()
|
|
call test_autochdir()
|
|
set acd
|
|
|
|
let s:li = []
|
|
autocmd DirChanged auto call add(s:li, "autocd")
|
|
autocmd DirChanged auto call add(s:li, expand("<afile>"))
|
|
|
|
new
|
|
w samples/Xtest
|
|
call assert_equal("Xtest", expand('%'))
|
|
call assert_equal("samples", substitute(getcwd(), '.*/\(\k*\)', '\1', ''))
|
|
call assert_equal(["autocd", getcwd()], s:li)
|
|
|
|
bwipe!
|
|
au! DirChanged
|
|
set noacd
|
|
call chdir(cwd)
|
|
call delete('samples/Xtest')
|
|
endfunc
|
|
|
|
func Test_set_filename_other_window()
|
|
let cwd = getcwd()
|
|
call test_autochdir()
|
|
call mkdir('Xa', 'R')
|
|
call mkdir('Xb', 'R')
|
|
call mkdir('Xc', 'R')
|
|
try
|
|
args Xa/aaa.txt Xb/bbb.txt
|
|
set acd
|
|
let winid = win_getid()
|
|
snext
|
|
call assert_equal('Xb', substitute(getcwd(), '.*/\([^/]*\)$', '\1', ''))
|
|
call win_execute(winid, 'file ' .. cwd .. '/Xc/ccc.txt')
|
|
call assert_equal('Xb', substitute(getcwd(), '.*/\([^/]*\)$', '\1', ''))
|
|
finally
|
|
set noacd
|
|
call chdir(cwd)
|
|
bwipe! aaa.txt
|
|
bwipe! bbb.txt
|
|
bwipe! ccc.txt
|
|
endtry
|
|
endfunc
|
|
|
|
func Test_acd_win_execute()
|
|
let cwd = getcwd()
|
|
set acd
|
|
call test_autochdir()
|
|
|
|
call mkdir('XacdDir', 'R')
|
|
let winid = win_getid()
|
|
new XacdDir/file
|
|
call assert_match('testdir.XacdDir$', getcwd())
|
|
cd ..
|
|
call assert_match('testdir$', getcwd())
|
|
call win_execute(winid, 'echo')
|
|
call assert_match('testdir$', getcwd())
|
|
|
|
bwipe!
|
|
set noacd
|
|
call chdir(cwd)
|
|
endfunc
|
|
|
|
func Test_verbose_pwd()
|
|
let cwd = getcwd()
|
|
call test_autochdir()
|
|
|
|
edit global.txt
|
|
call assert_match('\[global\].*testdir$', execute('verbose pwd'))
|
|
|
|
call mkdir('Xautodir', 'R')
|
|
split Xautodir/local.txt
|
|
lcd Xautodir
|
|
call assert_match('\[window\].*testdir[/\\]Xautodir', execute('verbose pwd'))
|
|
|
|
set acd
|
|
wincmd w
|
|
call assert_match('\[autochdir\].*testdir$', execute('verbose pwd'))
|
|
execute 'tcd' cwd
|
|
call assert_match('\[tabpage\].*testdir$', execute('verbose pwd'))
|
|
execute 'cd' cwd
|
|
call assert_match('\[global\].*testdir$', execute('verbose pwd'))
|
|
execute 'lcd' cwd
|
|
call assert_match('\[window\].*testdir$', execute('verbose pwd'))
|
|
edit
|
|
call assert_match('\[autochdir\].*testdir$', execute('verbose pwd'))
|
|
enew
|
|
wincmd w
|
|
call assert_match('\[autochdir\].*testdir[/\\]Xautodir', execute('verbose pwd'))
|
|
wincmd w
|
|
call assert_match('\[window\].*testdir$', execute('verbose pwd'))
|
|
wincmd w
|
|
call assert_match('\[autochdir\].*testdir[/\\]Xautodir', execute('verbose pwd'))
|
|
set noacd
|
|
call assert_match('\[autochdir\].*testdir[/\\]Xautodir', execute('verbose pwd'))
|
|
wincmd w
|
|
call assert_match('\[window\].*testdir$', execute('verbose pwd'))
|
|
execute 'cd' cwd
|
|
call assert_match('\[global\].*testdir$', execute('verbose pwd'))
|
|
wincmd w
|
|
call assert_match('\[window\].*testdir[/\\]Xautodir', execute('verbose pwd'))
|
|
|
|
bwipe!
|
|
call chdir(cwd)
|
|
endfunc
|
|
|
|
func Test_multibyte()
|
|
" using an invalid character should not cause a crash
|
|
set wic
|
|
call assert_fails('tc û���¦*', has('win32') ? 'E480:' : 'E344:')
|
|
set nowic
|
|
endfunc
|
|
|
|
|
|
" vim: shiftwidth=2 sts=2 expandtab
|