Mercurial > vim
view src/testdir/test_makeencoding.vim @ 28291:1c97a31f8f22 v8.2.4671
patch 8.2.4671: 'wildignorecase' is sometimes not used for glob()
Commit: https://github.com/vim/vim/commit/a3157a476bfa8c3077d510cc8400093c0d115df5
Author: LemonBoy <thatlemon@gmail.com>
Date: Sun Apr 3 11:58:31 2022 +0100
patch 8.2.4671: 'wildignorecase' is sometimes not used for glob()
Problem: 'wildignorecase' is sometimes not used for glob().
Solution: Also use 'wildignorecase' when there are no wildcards.
(closes #10066, closes #8350)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 03 Apr 2022 13:00:03 +0200 |
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