Mercurial > vim
view src/testdir/test_mksession_utf8.vim @ 32208:73c5881c1793 v9.0.1435
patch 9.0.1435: scrolling too many lines when 'wrap' and 'diff' are set
Commit: https://github.com/vim/vim/commit/38d867f041349e1400c2cce9cac06f59ae6ccbb1
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Apr 1 19:54:40 2023 +0100
patch 9.0.1435: scrolling too many lines when 'wrap' and 'diff' are set
Problem: Scrolling too many lines when 'wrap' and 'diff' are set.
Solution: Only scroll by screenlines for 'diff' when 'wrap' is not set.
(closes #12211)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Apr 2023 21:00:04 +0200 |
parents | 6990c1160ea5 |
children |
line wrap: on
line source
" Test for :mksession, :mkview and :loadview in utf-8 encoding set encoding=utf-8 scriptencoding utf-8 source check.vim CheckFeature mksession 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 =<< trim [DATA] 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| [DATA] call assert_equal(expected, li) tabclose! call delete('test_mks.out') call delete(tmpfile) let &wrap = wrap_save set sessionoptions& splitbelow& fileencoding& endfunc " vim: shiftwidth=2 sts=2 expandtab