mirror of
https://github.com/neovim/neovim.git
synced 2026-05-20 12:01:17 +00:00
This is a port of these two patches combined: vim-patch:8.1.1524: tests are silently skipped Problem: Tests are silently skipped. Solution: Throw an exception for skipped tests in more places.b0f94c1ff3vim-patch:8.1.1544: some balloon tests don't run when they can Problem: Some balloon tests don't run when they can. Solution: Split GUI balloon tests off into a separate file. (Ozaki Kiichi, closes vim/vim#4538) Change the feature check into a command for consistency.b46fecd345Omit test_lua.vim: previous patches are N/A Omit test_memory_usage.vim: previous patches are N/A Omit test_textprop.vim: previous patches are N/A Omit test_winbar.vim: previous patches are N/A Omit test_termcodes.vim: mostly N/A Skip Test_mouse_positon() because it uses test_setmouse(). Cannot throw error in a Test_nocatch_ test. Use latest `CheckFeature clipboard_working` for test_quotestar.vim
110 lines
2.5 KiB
VimL
110 lines
2.5 KiB
VimL
" Tests for 'makeencoding'.
|
|
|
|
source shared.vim
|
|
|
|
let s:python = PythonProg()
|
|
if s:python == ''
|
|
throw 'Skipped: python program missing'
|
|
endif
|
|
|
|
let s:script = 'test_makeencoding.py'
|
|
|
|
if has('iconv')
|
|
let s:message_tbl = {
|
|
\ 'utf-8': 'ÀÈÌÒÙ こんにちは 你好',
|
|
\ 'latin1': 'ÀÈÌÒÙ',
|
|
\ 'cp932': 'こんにちは',
|
|
\ 'cp936': '你好',
|
|
\}
|
|
else
|
|
let s:message_tbl = {
|
|
\ 'utf-8': 'ÀÈÌÒÙ こんにちは 你好',
|
|
\ 'latin1': 'ÀÈÌÒÙ',
|
|
\}
|
|
endif
|
|
|
|
|
|
" Tests for :cgetfile and :lgetfile.
|
|
func Test_getfile()
|
|
set errorfile=Xerror.txt
|
|
set errorformat=%f(%l)\ :\ %m
|
|
|
|
" :cgetfile
|
|
for enc in keys(s:message_tbl)
|
|
let &makeencoding = enc
|
|
exec "silent !" . s:python . " " . s:script . " " . enc . " > " . &errorfile
|
|
cgetfile
|
|
copen
|
|
call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
|
|
\ getline('.'))
|
|
cclose
|
|
endfor
|
|
|
|
" :lgetfile
|
|
for enc in keys(s:message_tbl)
|
|
let &makeencoding = enc
|
|
exec "silent !" . s:python . " " . s:script . " " . enc . " > " . &errorfile
|
|
lgetfile
|
|
lopen
|
|
call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
|
|
\ getline('.'))
|
|
lclose
|
|
endfor
|
|
|
|
call delete(&errorfile)
|
|
endfunc
|
|
|
|
|
|
" Tests for :grep and :lgrep.
|
|
func Test_grep()
|
|
let &grepprg = s:python
|
|
set grepformat=%f(%l)\ :\ %m
|
|
|
|
" :grep
|
|
for enc in keys(s:message_tbl)
|
|
let &makeencoding = enc
|
|
exec "silent grep! " . s:script . " " . enc
|
|
copen
|
|
call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
|
|
\ getline('.'))
|
|
cclose
|
|
endfor
|
|
|
|
" :lgrep
|
|
for enc in keys(s:message_tbl)
|
|
let &makeencoding = enc
|
|
exec "silent lgrep! " . s:script . " " . enc
|
|
lopen
|
|
call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
|
|
\ getline('.'))
|
|
lclose
|
|
endfor
|
|
endfunc
|
|
|
|
|
|
" Tests for :make and :lmake.
|
|
func Test_make()
|
|
let &makeprg = s:python
|
|
set errorformat=%f(%l)\ :\ %m
|
|
|
|
" :make
|
|
for enc in keys(s:message_tbl)
|
|
let &makeencoding = enc
|
|
exec "silent make! " . s:script . " " . enc
|
|
copen
|
|
call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
|
|
\ getline('.'))
|
|
cclose
|
|
endfor
|
|
|
|
" :lmake
|
|
for enc in keys(s:message_tbl)
|
|
let &makeencoding = enc
|
|
exec "silent lmake! " . s:script . " " . enc
|
|
lopen
|
|
call assert_equal("Xfoobar.c|10| " . s:message_tbl[enc] . " (" . enc . ")",
|
|
\ getline('.'))
|
|
lclose
|
|
endfor
|
|
endfunc
|