diff src/testdir/test_man.vim @ 9326:cd9c4bbe1d03 v7.4.1945

commit https://github.com/vim/vim/commit/ddf8d1c746ee081d15c9d7e0515f6ac43adbf363 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jun 20 11:22:54 2016 +0200 patch 7.4.1945 Problem: The Man plugin doesn't work that well. Solution: Use "g:ft_man_open_mode" to be able open man pages in vert split or separate tab. Set nomodifiable for buffer with man content. Add a test. (Andrey Starodubtsev, closes #873)
author Christian Brabandt <cb@256bit.org>
date Mon, 20 Jun 2016 11:30:06 +0200
parents
children ccbb8e393d80
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/testdir/test_man.vim
@@ -0,0 +1,59 @@
+runtime ftplugin/man.vim
+
+function Test_g_ft_man_open_mode()
+  let l:w = winwidth(1)
+  vnew
+  let l:h = winheight(1)
+  q
+
+  " split horizontally
+  let wincnt = winnr('$')
+  Man 'vim'
+  if wincnt == winnr('$')
+    " Vim manual page cannot be found.
+    return
+  endif
+  call assert_equal(l:w, winwidth(1))
+  call assert_true(l:h > winheight(1))
+  call assert_equal(1, tabpagenr('$'))
+  call assert_equal(1, tabpagenr())
+  q
+
+  " split horizontally
+  let g:ft_man_open_mode = "horz"
+  Man 'vim'
+  call assert_equal(l:w, winwidth(1))
+  call assert_true(l:h > winheight(1))
+  call assert_equal(1, tabpagenr('$'))
+  call assert_equal(1, tabpagenr())
+  q
+
+  " split vertically
+  let g:ft_man_open_mode = "vert"
+  Man 'vim'
+  call assert_true(l:w > winwidth(1))
+  call assert_equal(l:h, winheight(1))
+  call assert_equal(1, tabpagenr('$'))
+  call assert_equal(1, tabpagenr())
+  q
+
+  " separate tab
+  let g:ft_man_open_mode = "tab"
+  Man 'vim'
+  call assert_equal(l:w, winwidth(1))
+  call assert_equal(l:h, winheight(1))
+  call assert_equal(2, tabpagenr('$'))
+  call assert_equal(2, tabpagenr())
+  q
+endfunction
+
+function Test_nomodifiable()
+  let wincnt = winnr('$')
+  Man 'vim'
+  if wincnt == winnr('$')
+    " Vim manual page cannot be found.
+    return
+  endif
+  call assert_false(&l:modifiable)
+  q
+endfunction