Mercurial > vim
view src/testdir/test_mksession_utf8.vim @ 19253:a8d2d3c8f0b3 v8.2.0185
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Commit: https://github.com/vim/vim/commit/a259d8d30bc289764925fc42db1dbe774f0bb3f8
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jan 31 20:10:50 2020 +0100
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Problem: Vim9 script: cannot use "if has()" to skip lines.
Solution: Evaluate constant expression at runtime.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 31 Jan 2020 20:15:05 +0100 |
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