diff src/testdir/test_mksession.vim @ 10436:cb856404d060 v8.0.0112

commit https://github.com/vim/vim/commit/eca626fcdb73d480660c78b9f84cc043fa561922 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Dec 1 18:47:38 2016 +0100 patch 8.0.0112 Problem: Tests 92 and 93 are old style. Solution: Make test92 and test93 new style. (Hirohito Higashi, closes https://github.com/vim/vim/issues/1289)
author Christian Brabandt <cb@256bit.org>
date Thu, 01 Dec 2016 19:00:05 +0100
parents
children 78927b31c73a
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/testdir/test_mksession.vim
@@ -0,0 +1,104 @@
+" Test for :mksession, :mkview and :loadview in latin1 encoding
+
+set encoding=latin1
+scriptencoding latin1
+
+if !has('multi_byte') || !has('mksession')
+  finish
+endif
+
+func Test_mksession()
+  tabnew
+  let wrap_save = &wrap
+  set sessionoptions=buffers splitbelow fileencoding=latin1
+  call setline(1, [
+    \   'start:',
+    \   'no multibyte chAracter',
+    \   '	one leaDing tab',
+    \   '    four leadinG spaces',
+    \   'two		consecutive tabs',
+    \   'two	tabs	in one line',
+    \   'one ä multibyteCharacter',
+    \   'aä Ä  two multiByte characters',
+    \   'Aäöü  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 = [
+    \   '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|"
+    \ ]
+  call assert_equal(expected, li)
+  tabclose!
+
+  call delete('test_mks.out')
+  call delete(tmpfile)
+  let &wrap = wrap_save
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab