| " 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 |