155b0fb70SBram Moolenaar" Test specifically for the Man filetype plugin. 255b0fb70SBram Moolenaar 3ddf8d1c7SBram Moolenaarruntime ftplugin/man.vim 4ddf8d1c7SBram Moolenaar 5bca9c301SBram Moolenaarfunc Test_g_ft_man_open_mode() 6ddf8d1c7SBram Moolenaar vnew 7ddf8d1c7SBram Moolenaar let l:h = winheight(1) 8ddf8d1c7SBram Moolenaar q 961c04493SBram Moolenaar let l:w = winwidth(1) 10ddf8d1c7SBram Moolenaar 11ddf8d1c7SBram Moolenaar " split horizontally 12ddf8d1c7SBram Moolenaar let wincnt = winnr('$') 1361c04493SBram Moolenaar Man vim 14ddf8d1c7SBram Moolenaar if wincnt == winnr('$') 15ddf8d1c7SBram Moolenaar " Vim manual page cannot be found. 16ddf8d1c7SBram Moolenaar return 17ddf8d1c7SBram Moolenaar endif 1861c04493SBram Moolenaar 1961c04493SBram Moolenaar call assert_inrange(l:w - 2, l:w + 2, winwidth(1)) 20ddf8d1c7SBram Moolenaar call assert_true(l:h > winheight(1)) 21ddf8d1c7SBram Moolenaar call assert_equal(1, tabpagenr('$')) 22ddf8d1c7SBram Moolenaar call assert_equal(1, tabpagenr()) 23ddf8d1c7SBram Moolenaar q 24ddf8d1c7SBram Moolenaar 25ddf8d1c7SBram Moolenaar " split horizontally 26ddf8d1c7SBram Moolenaar let g:ft_man_open_mode = "horz" 2761c04493SBram Moolenaar Man vim 2861c04493SBram Moolenaar call assert_inrange(l:w - 2, l:w + 2, winwidth(1)) 29ddf8d1c7SBram Moolenaar call assert_true(l:h > winheight(1)) 30ddf8d1c7SBram Moolenaar call assert_equal(1, tabpagenr('$')) 31ddf8d1c7SBram Moolenaar call assert_equal(1, tabpagenr()) 32ddf8d1c7SBram Moolenaar q 33ddf8d1c7SBram Moolenaar 34ddf8d1c7SBram Moolenaar " split vertically 35ddf8d1c7SBram Moolenaar let g:ft_man_open_mode = "vert" 3661c04493SBram Moolenaar Man vim 37ddf8d1c7SBram Moolenaar call assert_true(l:w > winwidth(1)) 38ddf8d1c7SBram Moolenaar call assert_equal(l:h, winheight(1)) 39ddf8d1c7SBram Moolenaar call assert_equal(1, tabpagenr('$')) 40ddf8d1c7SBram Moolenaar call assert_equal(1, tabpagenr()) 41ddf8d1c7SBram Moolenaar q 42ddf8d1c7SBram Moolenaar 43ddf8d1c7SBram Moolenaar " separate tab 44ddf8d1c7SBram Moolenaar let g:ft_man_open_mode = "tab" 4561c04493SBram Moolenaar Man vim 4661c04493SBram Moolenaar call assert_inrange(l:w - 2, l:w + 2, winwidth(1)) 4761c04493SBram Moolenaar call assert_inrange(l:h - 1, l:h + 1, winheight(1)) 48ddf8d1c7SBram Moolenaar call assert_equal(2, tabpagenr('$')) 49ddf8d1c7SBram Moolenaar call assert_equal(2, tabpagenr()) 50ddf8d1c7SBram Moolenaar q 51e5e69501SBram Moolenaar 52e5e69501SBram Moolenaar unlet g:ft_man_open_mode 53bca9c301SBram Moolenaarendfunc 54ddf8d1c7SBram Moolenaar 55bca9c301SBram Moolenaarfunc Test_nomodifiable() 56ddf8d1c7SBram Moolenaar let wincnt = winnr('$') 5761c04493SBram Moolenaar Man vim 58ddf8d1c7SBram Moolenaar if wincnt == winnr('$') 59ddf8d1c7SBram Moolenaar " Vim manual page cannot be found. 60ddf8d1c7SBram Moolenaar return 61ddf8d1c7SBram Moolenaar endif 62ddf8d1c7SBram Moolenaar call assert_false(&l:modifiable) 63ddf8d1c7SBram Moolenaar q 64bca9c301SBram Moolenaarendfunc 65e5e69501SBram Moolenaar 66bca9c301SBram Moolenaarfunc Test_buffer_count_hidden() 67e5e69501SBram Moolenaar %bw! 68e5e69501SBram Moolenaar set hidden 69e5e69501SBram Moolenaar 70e5e69501SBram Moolenaar call assert_equal(1, len(getbufinfo())) 71e5e69501SBram Moolenaar 72e5e69501SBram Moolenaar let wincnt = winnr('$') 73e5e69501SBram Moolenaar Man vim 74e5e69501SBram Moolenaar if wincnt == winnr('$') 75e5e69501SBram Moolenaar " Vim manual page cannot be found. 76e5e69501SBram Moolenaar return 77e5e69501SBram Moolenaar endif 78e5e69501SBram Moolenaar 79e5e69501SBram Moolenaar call assert_equal(1, len(getbufinfo({'buflisted':1}))) 80e5e69501SBram Moolenaar call assert_equal(2, len(getbufinfo())) 81e5e69501SBram Moolenaar q 82e5e69501SBram Moolenaar 83e5e69501SBram Moolenaar Man vim 84e5e69501SBram Moolenaar 85e5e69501SBram Moolenaar call assert_equal(1, len(getbufinfo({'buflisted':1}))) 86e5e69501SBram Moolenaar call assert_equal(2, len(getbufinfo())) 87e5e69501SBram Moolenaar q 88e5e69501SBram Moolenaar 89e5e69501SBram Moolenaar set hidden& 90bca9c301SBram Moolenaarendfunc 91bca9c301SBram Moolenaar 92bca9c301SBram Moolenaar" Check that we do not alter the settings in the initial window. 93bca9c301SBram Moolenaarfunc Test_local_options() 94bca9c301SBram Moolenaar %bw! 95bca9c301SBram Moolenaar set foldcolumn=1 number 96bca9c301SBram Moolenaar 97bca9c301SBram Moolenaar let wincnt = winnr('$') 98bca9c301SBram Moolenaar Man vim 99bca9c301SBram Moolenaar if wincnt == winnr('$') 100bca9c301SBram Moolenaar " Vim manual page cannot be found. 101bca9c301SBram Moolenaar return 102bca9c301SBram Moolenaar endif 103bca9c301SBram Moolenaar 104bca9c301SBram Moolenaar " man page 105bca9c301SBram Moolenaar call assert_false(&nu) 106bca9c301SBram Moolenaar call assert_equal(0, &fdc) 107bca9c301SBram Moolenaar 108bca9c301SBram Moolenaar " initial window 109bca9c301SBram Moolenaar wincmd p 110bca9c301SBram Moolenaar call assert_true(&nu) 111bca9c301SBram Moolenaar call assert_equal(1, &fdc) 112bca9c301SBram Moolenaar 113bca9c301SBram Moolenaar %bw! 114bca9c301SBram Moolenaar set foldcolumn& number& 115bca9c301SBram Moolenaarendfunc 11655b0fb70SBram Moolenaar 11755b0fb70SBram Moolenaar" Check that the unnamed register is not overwritten. 11855b0fb70SBram Moolenaarfunc Test_keep_unnamed_register() 11955b0fb70SBram Moolenaar %bw! 12055b0fb70SBram Moolenaar 12155b0fb70SBram Moolenaar let @" = '---' 12255b0fb70SBram Moolenaar 12355b0fb70SBram Moolenaar let wincnt = winnr('$') 12455b0fb70SBram Moolenaar Man vim 12555b0fb70SBram Moolenaar if wincnt == winnr('$') 12655b0fb70SBram Moolenaar " Vim manual page cannot be found. 12755b0fb70SBram Moolenaar return 12855b0fb70SBram Moolenaar endif 12955b0fb70SBram Moolenaar 13055b0fb70SBram Moolenaar call assert_equal('---', @") 13155b0fb70SBram Moolenaar 13255b0fb70SBram Moolenaar %bw! 13355b0fb70SBram Moolenaarendfunc 1346d91bcb4SBram Moolenaar 135*159563b4SBram Moolenaar" Check that underlying shell command arguments are escaped. 136*159563b4SBram Moolenaarfunc Test_Man_uses_shellescape() 137*159563b4SBram Moolenaar Man `touch\ Xbar` `touch\ Xfoo` 138*159563b4SBram Moolenaar 139*159563b4SBram Moolenaar redir => msg 140*159563b4SBram Moolenaar 1messages 141*159563b4SBram Moolenaar redir END 142*159563b4SBram Moolenaar call assert_match('no manual entry for "`touch Xfoo`"', msg) 143*159563b4SBram Moolenaar 144*159563b4SBram Moolenaar call assert_false(filereadable('Xbar')) 145*159563b4SBram Moolenaar call assert_false(filereadable('Xfoo')) 146*159563b4SBram Moolenaarendfunc 147*159563b4SBram Moolenaar 148*159563b4SBram Moolenaar 1496d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 150