Mercurial > vim
view src/testdir/test_makeencoding.vim @ 17352:b2616a8be8a6 v8.1.1675
patch 8.1.1675: listener list not correctly updated on listener_remove()
commit https://github.com/vim/vim/commit/7b73f914c4fc5a3f7ad97b678cc8137f964e3d62
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 13 13:03:02 2019 +0200
patch 8.1.1675: listener list not correctly updated on listener_remove()
Problem: Listener list not correctly updated on listener_remove().
Solution: Only set "prev" when not removing a listener. Return one if the
listener was found and removed.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 13 Jul 2019 13:15:05 +0200 |
parents | 8e9e9124c7a2 |
children | 068337e86133 |
line wrap: on
line source
" 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' 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