1" Test specifically for the Man filetype plugin. 2 3runtime ftplugin/man.vim 4 5func Test_g_ft_man_open_mode() 6 vnew 7 let l:h = winheight(1) 8 q 9 let l:w = winwidth(1) 10 11 " split horizontally 12 let wincnt = winnr('$') 13 Man vim 14 if wincnt == winnr('$') 15 " Vim manual page cannot be found. 16 return 17 endif 18 19 call assert_inrange(l:w - 2, l:w + 2, winwidth(1)) 20 call assert_true(l:h > winheight(1)) 21 call assert_equal(1, tabpagenr('$')) 22 call assert_equal(1, tabpagenr()) 23 q 24 25 " split horizontally 26 let g:ft_man_open_mode = "horz" 27 Man vim 28 call assert_inrange(l:w - 2, l:w + 2, winwidth(1)) 29 call assert_true(l:h > winheight(1)) 30 call assert_equal(1, tabpagenr('$')) 31 call assert_equal(1, tabpagenr()) 32 q 33 34 " split vertically 35 let g:ft_man_open_mode = "vert" 36 Man vim 37 call assert_true(l:w > winwidth(1)) 38 call assert_equal(l:h, winheight(1)) 39 call assert_equal(1, tabpagenr('$')) 40 call assert_equal(1, tabpagenr()) 41 q 42 43 " separate tab 44 let g:ft_man_open_mode = "tab" 45 Man vim 46 call assert_inrange(l:w - 2, l:w + 2, winwidth(1)) 47 call assert_inrange(l:h - 1, l:h + 1, winheight(1)) 48 call assert_equal(2, tabpagenr('$')) 49 call assert_equal(2, tabpagenr()) 50 q 51 52 unlet g:ft_man_open_mode 53endfunc 54 55func Test_nomodifiable() 56 let wincnt = winnr('$') 57 Man vim 58 if wincnt == winnr('$') 59 " Vim manual page cannot be found. 60 return 61 endif 62 call assert_false(&l:modifiable) 63 q 64endfunc 65 66func Test_buffer_count_hidden() 67 %bw! 68 set hidden 69 70 call assert_equal(1, len(getbufinfo())) 71 72 let wincnt = winnr('$') 73 Man vim 74 if wincnt == winnr('$') 75 " Vim manual page cannot be found. 76 return 77 endif 78 79 call assert_equal(1, len(getbufinfo({'buflisted':1}))) 80 call assert_equal(2, len(getbufinfo())) 81 q 82 83 Man vim 84 85 call assert_equal(1, len(getbufinfo({'buflisted':1}))) 86 call assert_equal(2, len(getbufinfo())) 87 q 88 89 set hidden& 90endfunc 91 92" Check that we do not alter the settings in the initial window. 93func Test_local_options() 94 %bw! 95 set foldcolumn=1 number 96 97 let wincnt = winnr('$') 98 Man vim 99 if wincnt == winnr('$') 100 " Vim manual page cannot be found. 101 return 102 endif 103 104 " man page 105 call assert_false(&nu) 106 call assert_equal(0, &fdc) 107 108 " initial window 109 wincmd p 110 call assert_true(&nu) 111 call assert_equal(1, &fdc) 112 113 %bw! 114 set foldcolumn& number& 115endfunc 116 117" Check that the unnamed register is not overwritten. 118func Test_keep_unnamed_register() 119 %bw! 120 121 let @" = '---' 122 123 let wincnt = winnr('$') 124 Man vim 125 if wincnt == winnr('$') 126 " Vim manual page cannot be found. 127 return 128 endif 129 130 call assert_equal('---', @") 131 132 %bw! 133endfunc 134