Mercurial > vim
view src/testdir/test_makeencoding.vim @ 33758:75176b7f8170 v9.0.2101
patch 9.0.2101: CI: test_termdebug may still fail
Commit: https://github.com/vim/vim/commit/fdbadea4b60e5e1a0bf192dc5ee04d8ab06f4399
Author: shane.xb.qian <shane.qian@foxmail.com>
Date: Sun Nov 12 09:42:12 2023 +0100
patch 9.0.2101: CI: test_termdebug may still fail
Problem: CI: test_termdebug may still fail
Solution: use term_wait() to make it more robust
closes: #13529
Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 12 Nov 2023 09:45:05 +0100 |
parents | d1af65b322d0 |
children |
line wrap: on
line source
" Tests for 'makeencoding'. source shared.vim source check.vim CheckFeature quickfix let s:python = PythonProg() if s:python == '' throw 'Skipped: python program missing' endif let s:script = 'test_makeencoding.py' let s:message_tbl = { \ 'utf-8': 'ÀÈÌÒÙ こんにちは 你好', \ 'latin1': 'ÀÈÌÒÙ', \ 'cp932': 'こんにちは', \ 'cp936': '你好', \} " 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 " Test for an error file with a long line that needs an encoding conversion func Test_longline_conversion() new call setline(1, ['Xfile:10:' .. repeat("\xe0", 2000)]) write ++enc=latin1 Xerr.out bw! set errorformat& set makeencoding=latin1 cfile Xerr.out call assert_equal(repeat("\u00e0", 2000), getqflist()[0].text) call delete('Xerr.out') set makeencoding& endfunc " vim: shiftwidth=2 sts=2 expandtab