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