xref: /vim-8.2.3635/src/testdir/test_man.vim (revision d7df2798)
1runtime ftplugin/man.vim
2
3func Test_g_ft_man_open_mode()
4  vnew
5  let l:h = winheight(1)
6  q
7  let l:w = winwidth(1)
8
9  " split horizontally
10  let wincnt = winnr('$')
11  Man vim
12  if wincnt == winnr('$')
13    " Vim manual page cannot be found.
14    return
15  endif
16
17  call assert_inrange(l:w - 2, l:w + 2, winwidth(1))
18  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"
25  Man vim
26  call assert_inrange(l:w - 2, l:w + 2, winwidth(1))
27  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"
34  Man vim
35  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"
43  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))
46  call assert_equal(2, tabpagenr('$'))
47  call assert_equal(2, tabpagenr())
48  q
49
50  unlet g:ft_man_open_mode
51endfunc
52
53func Test_nomodifiable()
54  let wincnt = winnr('$')
55  Man vim
56  if wincnt == winnr('$')
57    " Vim manual page cannot be found.
58    return
59  endif
60  call assert_false(&l:modifiable)
61  q
62endfunc
63
64func Test_buffer_count_hidden()
65  %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&
88endfunc
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
114