view src/testdir/test_termencoding.vim @ 33532:f99f5a56ff27 v9.0.2015

patch 9.0.2015: Vim9: does not handle islocked() from a method correctly Commit: https://github.com/vim/vim/commit/4c8da025ef8140168b7a09d9fe922ce4bb40f19d Author: Ernie Rael <errael@raelity.com> Date: Wed Oct 11 21:35:11 2023 +0200 patch 9.0.2015: Vim9: does not handle islocked() from a method correctly Problem: Vim9: does not handle islocked() from a method correctly Solution: Handle islocked() builtin from a method. - Setup `lval_root` from `f_islocked()`. - Add function `fill_exec_lval_root()` to get info about executing method. - `sync_root` added in get_lval to handle method member access. - Conservative approach to reference counting. closes: #13309 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Ernie Rael <errael@raelity.com>
author Christian Brabandt <cb@256bit.org>
date Wed, 11 Oct 2023 21:45:04 +0200
parents c8ebe35b2475
children
line wrap: on
line source

" 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('iconv')
  throw 'Skipped: iconv feature missing'
endif

source screendump.vim
if !CanRunVimInTerminal()
  throw 'Skipped: cannot make screendumps'
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', 'D')
  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')
endfunc

" vim: shiftwidth=2 sts=2 expandtab