" 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
