summaryrefslogtreecommitdiff
path: root/uvim/src/testdir/test_termencoding.mnv
blob: 34fe4c23964ca8be9798e558bd231315d09eed2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
" Test for setting 'encoding' to something else than the terminal uses, then
" setting 'termencoding' to make it work.

" This only works with "iconv".
CheckFeature iconv

source util/screendump.mnv

if !CanRunMNVInTerminal()
  throw 'Skipped: cannot make screendumps'
endif

" This MNV is running with 'encoding' "utf-8", the MNV 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()
  CheckScreendump
  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', 'D')
  let buf = RunMNVInTerminal('-S XTest_tenc_euc_jp', {'rows': 10})
  call VerifyScreenDump(buf, 'Test_tenc_euc_jp_01', {})

  " clean up
  call StopMNVInTerminal(buf)
  call delete('Xeuc_jp.txt')
endfunc

" mnv: shiftwidth=2 sts=2 expandtab