Mercurial > vim
view src/testdir/test_mksession_utf8.vim @ 12170:1345621ecdfb v8.0.0965
patch 8.0.0965: not restoring cursor shape after it was set in a terminal
commit https://github.com/vim/vim/commit/3eee06e7d4c3a8e2dbb2577a1eef0e0f108e0288
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 19 19:40:50 2017 +0200
patch 8.0.0965: not restoring cursor shape after it was set in a terminal
Problem: The cursor shape is not reset after it was changed in a terminal.
Solution: Request the original cursor shape and restore it. Add t_RS.
Do not add t_SH for now, it does not work properly.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 19 Aug 2017 19:45:04 +0200 |
parents | cb856404d060 |
children | 32c51eef574e |
line wrap: on
line source
" Test for :mksession, :mkview and :loadview in utf-8 encoding set encoding=utf-8 scriptencoding utf-8 if !has('multi_byte') || !has('mksession') finish endif func Test_mksession_utf8() tabnew let wrap_save = &wrap set sessionoptions=buffers splitbelow fileencoding=utf-8 call setline(1, [ \ 'start:', \ 'no multibyte chAracter', \ ' one leaDing tab', \ ' four leadinG spaces', \ 'two consecutive tabs', \ 'two tabs in one line', \ 'one … multibyteCharacter', \ 'a “b” two multiByte characters', \ '“c”1€ three mulTibyte characters' \ ]) let tmpfile = tempname() exec 'w! ' . tmpfile /^start: set wrap vsplit norm! j16| split norm! j16| split norm! j16| split norm! j8| split norm! j8| split norm! j16| split norm! j16| split norm! j16| wincmd l set nowrap /^start: norm! j16|3zl split norm! j016|3zl split norm! j016|3zl split norm! j08|3zl split norm! j08|3zl split norm! j016|3zl split norm! j016|3zl split norm! j016|3zl split call wincol() mksession! test_mks.out let li = filter(readfile('test_mks.out'), 'v:val =~# "\\(^ *normal! 0\\|^ *exe ''normal!\\)"') let expected = [ \ 'normal! 016|', \ 'normal! 016|', \ 'normal! 016|', \ 'normal! 08|', \ 'normal! 08|', \ 'normal! 016|', \ 'normal! 016|', \ 'normal! 016|', \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", \ " normal! 016|", \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", \ " normal! 016|", \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", \ " normal! 016|", \ " exe 'normal! ' . s:c . '|zs' . 8 . '|'", \ " normal! 08|", \ " exe 'normal! ' . s:c . '|zs' . 8 . '|'", \ " normal! 08|", \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", \ " normal! 016|", \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", \ " normal! 016|", \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", \ " normal! 016|", \ " exe 'normal! ' . s:c . '|zs' . 16 . '|'", \ " normal! 016|" \ ] call assert_equal(expected, li) tabclose! call delete('test_mks.out') call delete(tmpfile) let &wrap = wrap_save endfunc " vim: shiftwidth=2 sts=2 expandtab