Mercurial > vim
view src/testdir/test_termencoding.vim @ 34780:54890be01c00 v9.1.0265
patch 9.1.0265: console dialog cannot save unnamed buffers
Commit: https://github.com/vim/vim/commit/df46115fc839c8912ed60646e86a412e5180ba1d
Author: glepnir <glephunter@gmail.com>
Date: Thu Apr 4 22:23:29 2024 +0200
patch 9.1.0265: console dialog cannot save unnamed buffers
Problem: console dialog cannot save unnamed buffers
Solution: set bufname before save (glepnir). Define dialog_con_gui
to test for GUI+Console dialog support, use it to skip
the test when the GUI feature has been defined.
Note: The dialog_changed() function will also try to call the
browse_save_fname() function, when FEAT_BROWSE is defined (which is only
defined in a GUI build of Vim). This will eventually lead to a call of
do_browse(), which causes an error message if a GUI is not currently
running (see the TODO: in do_browse()) and will then lead to a failure
in Test_goto_buf_with_onfirm().
Therefore, we must disable the Test_goto_buf_with_onfirm(), when the
dialog_con_gui feature is enabled (which basically means dialog feature
for GUI and Console builds, in contrast to the dialog_con and dialog_gui
feature).
(Previously this wasn't a problem, because the test aborted in the YES
case for the :confirm :b XgotoConf case and did therefore not run into
the browse function call)
closes: #14398
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 04 Apr 2024 23:45:02 +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