" 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
