blob: 9de8cb474aaded6f1e8eef7ce6493d9773d6dc3a [file] [log] [blame]
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +02001runtime ftplugin/man.vim
2
Bram Moolenaarbca9c302019-07-28 15:28:45 +02003func Test_g_ft_man_open_mode()
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +02004 vnew
5 let l:h = winheight(1)
6 q
Bram Moolenaar61c04492016-07-23 15:35:35 +02007 let l:w = winwidth(1)
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +02008
9 " split horizontally
10 let wincnt = winnr('$')
Bram Moolenaar61c04492016-07-23 15:35:35 +020011 Man vim
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +020012 if wincnt == winnr('$')
13 " Vim manual page cannot be found.
14 return
15 endif
Bram Moolenaar61c04492016-07-23 15:35:35 +020016
17 call assert_inrange(l:w - 2, l:w + 2, winwidth(1))
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +020018 call assert_true(l:h > winheight(1))
19 call assert_equal(1, tabpagenr('$'))
20 call assert_equal(1, tabpagenr())
21 q
22
23 " split horizontally
24 let g:ft_man_open_mode = "horz"
Bram Moolenaar61c04492016-07-23 15:35:35 +020025 Man vim
26 call assert_inrange(l:w - 2, l:w + 2, winwidth(1))
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +020027 call assert_true(l:h > winheight(1))
28 call assert_equal(1, tabpagenr('$'))
29 call assert_equal(1, tabpagenr())
30 q
31
32 " split vertically
33 let g:ft_man_open_mode = "vert"
Bram Moolenaar61c04492016-07-23 15:35:35 +020034 Man vim
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +020035 call assert_true(l:w > winwidth(1))
36 call assert_equal(l:h, winheight(1))
37 call assert_equal(1, tabpagenr('$'))
38 call assert_equal(1, tabpagenr())
39 q
40
41 " separate tab
42 let g:ft_man_open_mode = "tab"
Bram Moolenaar61c04492016-07-23 15:35:35 +020043 Man vim
44 call assert_inrange(l:w - 2, l:w + 2, winwidth(1))
45 call assert_inrange(l:h - 1, l:h + 1, winheight(1))
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +020046 call assert_equal(2, tabpagenr('$'))
47 call assert_equal(2, tabpagenr())
48 q
Bram Moolenaare5e69502019-07-22 22:09:21 +020049
50 unlet g:ft_man_open_mode
Bram Moolenaarbca9c302019-07-28 15:28:45 +020051endfunc
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +020052
Bram Moolenaarbca9c302019-07-28 15:28:45 +020053func Test_nomodifiable()
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +020054 let wincnt = winnr('$')
Bram Moolenaar61c04492016-07-23 15:35:35 +020055 Man vim
Bram Moolenaarddf8d1c2016-06-20 11:22:54 +020056 if wincnt == winnr('$')
57 " Vim manual page cannot be found.
58 return
59 endif
60 call assert_false(&l:modifiable)
61 q
Bram Moolenaarbca9c302019-07-28 15:28:45 +020062endfunc
Bram Moolenaare5e69502019-07-22 22:09:21 +020063
Bram Moolenaarbca9c302019-07-28 15:28:45 +020064func Test_buffer_count_hidden()
Bram Moolenaare5e69502019-07-22 22:09:21 +020065 %bw!
66 set hidden
67
68 call assert_equal(1, len(getbufinfo()))
69
70 let wincnt = winnr('$')
71 Man vim
72 if wincnt == winnr('$')
73 " Vim manual page cannot be found.
74 return
75 endif
76
77 call assert_equal(1, len(getbufinfo({'buflisted':1})))
78 call assert_equal(2, len(getbufinfo()))
79 q
80
81 Man vim
82
83 call assert_equal(1, len(getbufinfo({'buflisted':1})))
84 call assert_equal(2, len(getbufinfo()))
85 q
86
87 set hidden&
Bram Moolenaarbca9c302019-07-28 15:28:45 +020088endfunc
89
90" Check that we do not alter the settings in the initial window.
91func Test_local_options()
92 %bw!
93 set foldcolumn=1 number
94
95 let wincnt = winnr('$')
96 Man vim
97 if wincnt == winnr('$')
98 " Vim manual page cannot be found.
99 return
100 endif
101
102 " man page
103 call assert_false(&nu)
104 call assert_equal(0, &fdc)
105
106 " initial window
107 wincmd p
108 call assert_true(&nu)
109 call assert_equal(1, &fdc)
110
111 %bw!
112 set foldcolumn& number&
113endfunc