Mercurial > vim
diff src/testdir/test_termencoding.vim @ 15504:247511eadb7a v8.1.0760
patch 8.1.0760: no proper test for using 'termencoding'
commit https://github.com/vim/vim/commit/617d7ef0462e86ec946d8932e4d157e65bbc9aa8
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jan 17 13:04:30 2019 +0100
patch 8.1.0760: no proper test for using 'termencoding'
Problem: No proper test for using 'termencoding'.
Solution: Add a screendump test. Fix using double width characters in a
screendump.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 17 Jan 2019 13:15:07 +0100 |
parents | |
children | 2dcaa860e3fc |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/src/testdir/test_termencoding.vim @@ -0,0 +1,37 @@ +" Test for setting 'encoding' to something else than the terminal uses, then +" setting 'termencoding' to make it work. + +" This only works with "iconv". +if !has('multi_byte') || !has('iconv') + finish +endif + +source screendump.vim +if !CanRunVimInTerminal() + finish +endif + +" This Vim is running with 'encoding' "utf-8", the Vim in the terminal is +" running with 'encoding' "euc-jp". We need to make sure the text is in the +" right encoding, this is a bit tricky. +func Test_termencoding_euc_jp() + new + call setline(1, 'E89: バッファ %ld の変更は保存されていません (! で変更を破棄)') + write ++enc=euc-jp Xeuc_jp.txt + quit + + call writefile([ + \ 'set encoding=euc-jp', + \ 'set termencoding=utf-8', + \ 'scriptencoding utf-8', + \ 'exe "normal aE83: バッファを作成できないので、他のを使用します...\<Esc>"', + \ 'split Xeuc_jp.txt', + \ ], 'XTest_tenc_euc_jp') + let buf = RunVimInTerminal('-S XTest_tenc_euc_jp', {'rows': 10}) + call VerifyScreenDump(buf, 'Test_tenc_euc_jp_01', {}) + + " clean up + call StopVimInTerminal(buf) + call delete('Xeuc_jp.txt') + call delete('XTest_tenc_euc_jp') +endfunc