annotate src/testdir/test_window_cmd.vim @ 30251:0288baaedf91 v9.0.0461

patch 9.0.0461: 'scroll' is not always updated Commit: https://github.com/vim/vim/commit/470a14140bc06f1653edf26ab0b3c9b801080353 Author: Luuk van Baal <luukvbaal@gmail.com> Date: Wed Sep 14 01:27:23 2022 +0100 patch 9.0.0461: 'scroll' is not always updated Problem: 'scroll' is not always updated. Solution: Call win_init_size() at the right place.
author Bram Moolenaar <Bram@vim.org>
date Wed, 14 Sep 2022 02:30:03 +0200
parents 91ecee475811
children 48db7f8f1b44
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9102
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Tests for window cmd (:wincmd, :split, :vsplit, :resize and etc...)
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
3 source check.vim
18253
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
4
9102
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 func Test_window_cmd_ls0_with_split()
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 set ls=0
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 set splitbelow
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 split
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 quit
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 call assert_equal(0, &lines - &cmdheight - winheight(0))
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 new | only!
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 "
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 set splitbelow&vim
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 botright split
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 quit
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 call assert_equal(0, &lines - &cmdheight - winheight(0))
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 new | only!
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 set ls&vim
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 endfunc
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 func Test_window_cmd_cmdwin_with_vsp()
23748
93f90f2ff4e9 patch 8.2.2415: no way to check for the cmdwin feature
Bram Moolenaar <Bram@vim.org>
parents: 23434
diff changeset
22 CheckFeature cmdwin
93f90f2ff4e9 patch 8.2.2415: no way to check for the cmdwin feature
Bram Moolenaar <Bram@vim.org>
parents: 23434
diff changeset
23
13880
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
24 let efmt = 'Expected 0 but got %d (in ls=%d, %s window)'
9102
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 for v in range(0, 2)
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 exec "set ls=" . v
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 vsplit
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 call feedkeys("q:\<CR>")
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 let ac = &lines - (&cmdheight + winheight(0) + !!v)
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 let emsg = printf(efmt, ac, v, 'left')
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31 call assert_equal(0, ac, emsg)
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32 wincmd w
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33 let ac = &lines - (&cmdheight + winheight(0) + !!v)
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
34 let emsg = printf(efmt, ac, v, 'right')
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
35 call assert_equal(0, ac, emsg)
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
36 new | only!
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
37 endfor
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
38 set ls&vim
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
39 endfunc
0e90f3e13d88 commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40
29694
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
41 func Test_cmdheight_not_changed()
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
42 set cmdheight=2
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
43 set winminheight=0
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
44 augroup Maximize
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
45 autocmd WinEnter * wincmd _
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
46 augroup END
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
47 split
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
48 tabnew
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
49 tabfirst
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
50 call assert_equal(2, &cmdheight)
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
51
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
52 tabonly!
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
53 only
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
54 set winminwidth& cmdheight&
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
55 augroup Maximize
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
56 au!
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
57 augroup END
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
58 augroup! Maximize
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
59 endfunc
cb4ddbe3caf3 patch 9.0.0187: command line height changes when maximizing window height
Bram Moolenaar <Bram@vim.org>
parents: 29546
diff changeset
60
21020
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
61 " Test for jumping to windows
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
62 func Test_window_jump()
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
63 new
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
64 " jumping to a window with a count greater than the max windows
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
65 exe "normal 4\<C-W>w"
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
66 call assert_equal(2, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
67 only
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
68 endfunc
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
69
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
70 func Test_window_cmd_wincmd_gf()
9349
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
71 let fname = 'test_gf.txt'
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
72 let swp_fname = '.' . fname . '.swp'
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
73 call writefile([], fname)
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
74 call writefile([], swp_fname)
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
75 function s:swap_exists()
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
76 let v:swapchoice = s:swap_choice
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
77 endfunc
17360
cb71b5e9e5d9 patch 8.1.1679: test using SwapExists autocommand file may fail
Bram Moolenaar <Bram@vim.org>
parents: 16690
diff changeset
78 " Remove the catch-all that runtest.vim adds
cb71b5e9e5d9 patch 8.1.1679: test using SwapExists autocommand file may fail
Bram Moolenaar <Bram@vim.org>
parents: 16690
diff changeset
79 au! SwapExists
9349
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
80 augroup test_window_cmd_wincmd_gf
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
81 autocmd!
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
82 exec "autocmd SwapExists " . fname . " call s:swap_exists()"
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
83 augroup END
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
84
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
85 call setline(1, fname)
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
86 " (E)dit anyway
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
87 let s:swap_choice = 'e'
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
88 wincmd gf
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
89 call assert_equal(2, tabpagenr())
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
90 call assert_equal(fname, bufname("%"))
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
91 quit!
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
92
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
93 " (Q)uit
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
94 let s:swap_choice = 'q'
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
95 wincmd gf
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
96 call assert_equal(1, tabpagenr())
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
97 call assert_notequal(fname, bufname("%"))
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
98 new | only!
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
99
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
100 call delete(fname)
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
101 call delete(swp_fname)
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
102 augroup! test_window_cmd_wincmd_gf
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
103 endfunc
b24900b73f90 commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents: 9102
diff changeset
104
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
105 func Test_window_quit()
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
106 e Xa
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
107 split Xb
18035
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
108 call assert_equal(2, '$'->winnr())
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
109 call assert_equal('Xb', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
110 call assert_equal('Xa', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
111
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
112 wincmd q
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
113 call assert_equal(1, winnr('$'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
114 call assert_equal('Xa', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
115
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
116 bw Xa Xb
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
117 endfunc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
118
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
119 func Test_window_horizontal_split()
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
120 call assert_equal(1, winnr('$'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
121 3wincmd s
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
122 call assert_equal(2, winnr('$'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
123 call assert_equal(3, winheight(0))
18035
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
124 call assert_equal(winwidth(1), 2->winwidth())
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
125
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
126 call assert_fails('botright topleft wincmd s', 'E442:')
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
127 bw
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
128 endfunc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
129
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
130 func Test_window_vertical_split()
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
131 call assert_equal(1, winnr('$'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
132 3wincmd v
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
133 call assert_equal(2, winnr('$'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
134 call assert_equal(3, winwidth(0))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
135 call assert_equal(winheight(1), winheight(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
136
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
137 call assert_fails('botright topleft wincmd v', 'E442:')
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
138 bw
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
139 endfunc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
140
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
141 " Test the ":wincmd ^" and "<C-W>^" commands.
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
142 func Test_window_split_edit_alternate()
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
143
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
144 " Test for failure when the alternate buffer/file no longer exists.
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
145 edit Xfoo | %bw
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22073
diff changeset
146 call assert_fails(':wincmd ^', 'E23:')
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
147
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
148 " Test for the expected behavior when we have two named buffers.
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
149 edit Xfoo | edit Xbar
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
150 wincmd ^
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
151 call assert_equal('Xfoo', bufname(winbufnr(1)))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
152 call assert_equal('Xbar', bufname(winbufnr(2)))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
153 only
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
154
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
155 " Test for the expected behavior when the alternate buffer is not named.
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
156 enew | let l:nr1 = bufnr('%')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
157 edit Xfoo | let l:nr2 = bufnr('%')
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
158 wincmd ^
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
159 call assert_equal(l:nr1, winbufnr(1))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
160 call assert_equal(l:nr2, winbufnr(2))
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
161 only
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
162
15012
55663ef68467 patch 8.1.0517: Test_window_split_edit_alternate() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
163 " FIXME: this currently fails on AppVeyor, but passes locally
55663ef68467 patch 8.1.0517: Test_window_split_edit_alternate() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
164 if !has('win32')
55663ef68467 patch 8.1.0517: Test_window_split_edit_alternate() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
165 " Test the Normal mode command.
55663ef68467 patch 8.1.0517: Test_window_split_edit_alternate() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
166 call feedkeys("\<C-W>\<C-^>", 'tx')
55663ef68467 patch 8.1.0517: Test_window_split_edit_alternate() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
167 call assert_equal(l:nr2, winbufnr(1))
55663ef68467 patch 8.1.0517: Test_window_split_edit_alternate() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
168 call assert_equal(l:nr1, winbufnr(2))
55663ef68467 patch 8.1.0517: Test_window_split_edit_alternate() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15006
diff changeset
169 endif
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
170
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
171 %bw!
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
172 endfunc
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
173
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
174 " Test the ":[count]wincmd ^" and "[count]<C-W>^" commands.
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
175 func Test_window_split_edit_bufnr()
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
176
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
177 %bwipeout
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
178 let l:nr = bufnr('%') + 1
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22073
diff changeset
179 call assert_fails(':execute "normal! ' . l:nr . '\<C-W>\<C-^>"', 'E92:')
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22073
diff changeset
180 call assert_fails(':' . l:nr . 'wincmd ^', 'E16:')
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 22073
diff changeset
181 call assert_fails(':0wincmd ^', 'E16:')
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
182
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
183 edit Xfoo | edit Xbar | edit Xbaz
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
184 let l:foo_nr = bufnr('Xfoo')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
185 let l:bar_nr = bufnr('Xbar')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
186 let l:baz_nr = bufnr('Xbaz')
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
187
15014
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
188 " FIXME: this currently fails on AppVeyor, but passes locally
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
189 if !has('win32')
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
190 call feedkeys(l:foo_nr . "\<C-W>\<C-^>", 'tx')
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
191 call assert_equal('Xfoo', bufname(winbufnr(1)))
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
192 call assert_equal('Xbaz', bufname(winbufnr(2)))
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
193 only
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
194
15014
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
195 call feedkeys(l:bar_nr . "\<C-W>\<C-^>", 'tx')
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
196 call assert_equal('Xbar', bufname(winbufnr(1)))
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
197 call assert_equal('Xfoo', bufname(winbufnr(2)))
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
198 only
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
199
15014
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
200 execute l:baz_nr . 'wincmd ^'
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
201 call assert_equal('Xbaz', bufname(winbufnr(1)))
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
202 call assert_equal('Xbar', bufname(winbufnr(2)))
cc4c41448d77 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents: 15012
diff changeset
203 endif
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
204
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
205 %bw!
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
206 endfunc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
207
19740
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
208 func Test_window_split_no_room()
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
209 " N horizontal windows need >= 2*N + 1 lines:
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
210 " - 1 line + 1 status line in each window
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
211 " - 1 Ex command line
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
212 "
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
213 " 2*N + 1 <= &lines
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
214 " N <= (lines - 1)/2
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
215 "
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
216 " Beyond that number of windows, E36: Not enough room is expected.
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
217 let hor_win_count = (&lines - 1)/2
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
218 let hor_split_count = hor_win_count - 1
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
219 for s in range(1, hor_split_count) | split | endfor
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
220 call assert_fails('split', 'E36:')
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
221
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
222 " N vertical windows need >= 2*(N - 1) + 1 columns:
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
223 " - 1 column + 1 separator for each window (except last window)
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
224 " - 1 column for the last window which does not have separator
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
225 "
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
226 " 2*(N - 1) + 1 <= &columns
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
227 " 2*N - 1 <= &columns
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
228 " N <= (&columns + 1)/2
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
229 let ver_win_count = (&columns + 1)/2
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
230 let ver_split_count = ver_win_count - 1
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
231 for s in range(1, ver_split_count) | vsplit | endfor
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
232 call assert_fails('vsplit', 'E36:')
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
233
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
234 %bw!
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
235 endfunc
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 19724
diff changeset
236
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
237 func Test_window_exchange()
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
238 e Xa
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
239
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
240 " Nothing happens with window exchange when there is 1 window
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
241 wincmd x
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
242 call assert_equal(1, winnr('$'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
243
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
244 split Xb
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
245 split Xc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
246
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
247 call assert_equal('Xc', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
248 call assert_equal('Xb', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
249 call assert_equal('Xa', bufname(winbufnr(3)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
250
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
251 " Exchange current window 1 with window 3
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
252 3wincmd x
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
253 call assert_equal('Xa', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
254 call assert_equal('Xb', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
255 call assert_equal('Xc', bufname(winbufnr(3)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
256
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
257 " Exchange window with next when at the top window
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
258 wincmd x
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
259 call assert_equal('Xb', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
260 call assert_equal('Xa', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
261 call assert_equal('Xc', bufname(winbufnr(3)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
262
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
263 " Exchange window with next when at the middle window
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
264 wincmd j
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
265 wincmd x
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
266 call assert_equal('Xb', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
267 call assert_equal('Xc', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
268 call assert_equal('Xa', bufname(winbufnr(3)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
269
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
270 " Exchange window with next when at the bottom window.
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
271 " When there is no next window, it exchanges with the previous window.
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
272 wincmd j
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
273 wincmd x
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
274 call assert_equal('Xb', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
275 call assert_equal('Xa', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
276 call assert_equal('Xc', bufname(winbufnr(3)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
277
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
278 bw Xa Xb Xc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
279 endfunc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
280
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
281 func Test_window_rotate()
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
282 e Xa
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
283 split Xb
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
284 split Xc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
285 call assert_equal('Xc', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
286 call assert_equal('Xb', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
287 call assert_equal('Xa', bufname(winbufnr(3)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
288
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
289 " Rotate downwards
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
290 wincmd r
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
291 call assert_equal('Xa', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
292 call assert_equal('Xc', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
293 call assert_equal('Xb', bufname(winbufnr(3)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
294
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
295 2wincmd r
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
296 call assert_equal('Xc', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
297 call assert_equal('Xb', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
298 call assert_equal('Xa', bufname(winbufnr(3)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
299
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
300 " Rotate upwards
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
301 wincmd R
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
302 call assert_equal('Xb', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
303 call assert_equal('Xa', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
304 call assert_equal('Xc', bufname(winbufnr(3)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
305
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
306 2wincmd R
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
307 call assert_equal('Xc', bufname(winbufnr(1)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
308 call assert_equal('Xb', bufname(winbufnr(2)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
309 call assert_equal('Xa', bufname(winbufnr(3)))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
310
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
311 bot vsplit
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
312 call assert_fails('wincmd R', 'E443:')
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
313
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
314 bw Xa Xb Xc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
315 endfunc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
316
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
317 func Test_window_height()
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
318 e Xa
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
319 split Xb
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
320
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
321 let [wh1, wh2] = [winheight(1), winheight(2)]
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
322 " Active window (1) should have the same height or 1 more
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
323 " than the other window.
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
324 call assert_inrange(wh2, wh2 + 1, wh1)
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
325
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
326 wincmd -
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
327 call assert_equal(wh1 - 1, winheight(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
328 call assert_equal(wh2 + 1, winheight(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
329
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
330 wincmd +
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
331 call assert_equal(wh1, winheight(1))
18035
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
332 call assert_equal(wh2, 2->winheight())
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
333
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
334 2wincmd _
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
335 call assert_equal(2, winheight(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
336 call assert_equal(wh1 + wh2 - 2, winheight(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
337
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
338 wincmd =
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
339 call assert_equal(wh1, winheight(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
340 call assert_equal(wh2, winheight(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
341
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
342 2wincmd _
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
343 set winfixheight
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
344 split Xc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
345 let [wh1, wh2, wh3] = [winheight(1), winheight(2), winheight(3)]
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
346 call assert_equal(2, winheight(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
347 call assert_inrange(wh3, wh3 + 1, wh1)
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
348 3wincmd +
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
349 call assert_equal(2, winheight(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
350 call assert_equal(wh1 + 3, winheight(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
351 call assert_equal(wh3 - 3, winheight(3))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
352 wincmd =
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
353 call assert_equal(2, winheight(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
354 call assert_equal(wh1, winheight(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
355 call assert_equal(wh3, winheight(3))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
356
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
357 wincmd j
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
358 set winfixheight&
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
359
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
360 wincmd =
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
361 let [wh1, wh2, wh3] = [winheight(1), winheight(2), winheight(3)]
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
362 " Current window (2) should have the same height or 1 more
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
363 " than the other windows.
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
364 call assert_inrange(wh1, wh1 + 1, wh2)
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
365 call assert_inrange(wh3, wh3 + 1, wh2)
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
366
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
367 bw Xa Xb Xc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
368 endfunc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
369
30009
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
370 func Test_wincmd_equal()
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
371 edit Xone
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
372 below split Xtwo
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
373 rightbelow vsplit Xthree
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
374 call assert_equal('Xone', bufname(winbufnr(1)))
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
375 call assert_equal('Xtwo', bufname(winbufnr(2)))
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
376 call assert_equal('Xthree', bufname(winbufnr(3)))
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
377
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
378 " Xone and Xtwo should be about the same height
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
379 let [wh1, wh2] = [winheight(1), winheight(2)]
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
380 call assert_inrange(wh1 - 1, wh1 + 1, wh2)
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
381 " Xtwo and Xthree should be about the same width
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
382 let [ww2, ww3] = [winwidth(2), winwidth(3)]
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
383 call assert_inrange(ww2 - 1, ww2 + 1, ww3)
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
384
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
385 1wincmd w
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
386 10wincmd _
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
387 2wincmd w
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
388 20wincmd |
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
389 call assert_equal(10, winheight(1))
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
390 call assert_equal(20, winwidth(2))
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
391
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
392 " equalizing horizontally doesn't change the heights
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
393 hor wincmd =
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
394 call assert_equal(10, winheight(1))
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
395 let [ww2, ww3] = [winwidth(2), winwidth(3)]
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
396 call assert_inrange(ww2 - 1, ww2 + 1, ww3)
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
397
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
398 2wincmd w
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
399 20wincmd |
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
400 call assert_equal(20, winwidth(2))
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
401 " equalizing vertically doesn't change the widths
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
402 vert wincmd =
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
403 call assert_equal(20, winwidth(2))
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
404 let [wh1, wh2] = [winheight(1), winheight(2)]
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
405 call assert_inrange(wh1 - 1, wh1 + 1, wh2)
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
406
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
407 bwipe Xone Xtwo Xthree
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
408 endfunc
b97a870a7c63 patch 9.0.0342: ":wincmd =" equalizes in two directions
Bram Moolenaar <Bram@vim.org>
parents: 30005
diff changeset
409
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
410 func Test_window_width()
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
411 e Xa
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
412 vsplit Xb
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
413
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
414 let [ww1, ww2] = [winwidth(1), winwidth(2)]
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
415 " Active window (1) should have the same width or 1 more
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
416 " than the other window.
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
417 call assert_inrange(ww2, ww2 + 1, ww1)
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
418
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
419 wincmd <
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
420 call assert_equal(ww1 - 1, winwidth(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
421 call assert_equal(ww2 + 1, winwidth(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
422
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
423 wincmd >
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
424 call assert_equal(ww1, winwidth(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
425 call assert_equal(ww2, winwidth(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
426
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
427 2wincmd |
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
428 call assert_equal(2, winwidth(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
429 call assert_equal(ww1 + ww2 - 2, winwidth(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
430
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
431 wincmd =
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
432 call assert_equal(ww1, winwidth(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
433 call assert_equal(ww2, winwidth(2))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
434
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
435 2wincmd |
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
436 set winfixwidth
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
437 vsplit Xc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
438 let [ww1, ww2, ww3] = [winwidth(1), winwidth(2), winwidth(3)]
11207
e6140f3d2be7 patch 8.0.0490: vertical split makes 'winfixwidth' window smaller
Christian Brabandt <cb@256bit.org>
parents: 11197
diff changeset
439 call assert_equal(2, winwidth(2))
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
440 call assert_inrange(ww3, ww3 + 1, ww1)
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
441 3wincmd >
11207
e6140f3d2be7 patch 8.0.0490: vertical split makes 'winfixwidth' window smaller
Christian Brabandt <cb@256bit.org>
parents: 11197
diff changeset
442 call assert_equal(2, winwidth(2))
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
443 call assert_equal(ww1 + 3, winwidth(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
444 call assert_equal(ww3 - 3, winwidth(3))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
445 wincmd =
11207
e6140f3d2be7 patch 8.0.0490: vertical split makes 'winfixwidth' window smaller
Christian Brabandt <cb@256bit.org>
parents: 11197
diff changeset
446 call assert_equal(2, winwidth(2))
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
447 call assert_equal(ww1, winwidth(1))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
448 call assert_equal(ww3, winwidth(3))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
449
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
450 wincmd l
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
451 set winfixwidth&
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
452
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
453 wincmd =
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
454 let [ww1, ww2, ww3] = [winwidth(1), winwidth(2), winwidth(3)]
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
455 " Current window (2) should have the same width or 1 more
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
456 " than the other windows.
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
457 call assert_inrange(ww1, ww1 + 1, ww2)
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
458 call assert_inrange(ww3, ww3 + 1, ww2)
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
459
24882
4c1b6f3eb96b patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 24180
diff changeset
460 " when the current window width is less than the new 'winwidth', the current
4c1b6f3eb96b patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 24180
diff changeset
461 " window width should be increased.
4c1b6f3eb96b patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 24180
diff changeset
462 enew | only
4c1b6f3eb96b patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 24180
diff changeset
463 split
4c1b6f3eb96b patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 24180
diff changeset
464 10vnew
4c1b6f3eb96b patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 24180
diff changeset
465 set winwidth=15
4c1b6f3eb96b patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 24180
diff changeset
466 call assert_equal(15, winwidth(0))
4c1b6f3eb96b patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 24180
diff changeset
467
4c1b6f3eb96b patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 24180
diff changeset
468 %bw!
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
469 endfunc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
470
11591
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
471 func Test_equalalways_on_close()
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
472 set equalalways
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
473 vsplit
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
474 windo split
15006
1fd8e32532f7 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Bram Moolenaar <Bram@vim.org>
parents: 13880
diff changeset
475 split
11591
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
476 wincmd J
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
477 " now we have a frame top-left with two windows, a frame top-right with two
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
478 " windows and a frame at the bottom, full-width.
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
479 let height_1 = winheight(1)
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
480 let height_2 = winheight(2)
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
481 let height_3 = winheight(3)
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
482 let height_4 = winheight(4)
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
483 " closing the bottom window causes all windows to be resized.
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
484 close
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
485 call assert_notequal(height_1, winheight(1))
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
486 call assert_notequal(height_2, winheight(2))
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
487 call assert_notequal(height_3, winheight(3))
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
488 call assert_notequal(height_4, winheight(4))
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
489 call assert_equal(winheight(1), winheight(3))
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
490 call assert_equal(winheight(2), winheight(4))
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
491
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
492 1wincmd w
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
493 split
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
494 4wincmd w
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
495 resize + 5
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
496 " left column has three windows, equalized heights.
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
497 " right column has two windows, top one a bit higher
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
498 let height_1 = winheight(1)
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
499 let height_2 = winheight(2)
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
500 let height_4 = winheight(4)
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
501 let height_5 = winheight(5)
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
502 3wincmd w
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
503 " closing window in left column equalizes heights in left column but not in
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
504 " the right column
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
505 close
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
506 call assert_notequal(height_1, winheight(1))
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
507 call assert_notequal(height_2, winheight(2))
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
508 call assert_equal(height_4, winheight(3))
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
509 call assert_equal(height_5, winheight(4))
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
510
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
511 only
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
512 set equalalways&
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
513 endfunc
d06a3db9b651 patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents: 11207
diff changeset
514
12977
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
515 func Test_win_screenpos()
18767
068337e86133 patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18253
diff changeset
516 CheckFeature quickfix
068337e86133 patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18253
diff changeset
517
12977
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
518 call assert_equal(1, winnr('$'))
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
519 split
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
520 vsplit
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
521 10wincmd _
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
522 30wincmd |
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
523 call assert_equal([1, 1], win_screenpos(1))
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
524 call assert_equal([1, 32], win_screenpos(2))
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
525 call assert_equal([12, 1], win_screenpos(3))
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
526 call assert_equal([0, 0], win_screenpos(4))
20178
2fb397573541 patch 8.2.0644: insufficient testing for invalid function arguments
Bram Moolenaar <Bram@vim.org>
parents: 20120
diff changeset
527 call assert_fails('let l = win_screenpos([])', 'E745:')
12977
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
528 only
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
529 endfunc
2d817fd289ba patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents: 12019
diff changeset
530
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
531 func Test_window_jump_tag()
18767
068337e86133 patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18253
diff changeset
532 CheckFeature quickfix
068337e86133 patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18253
diff changeset
533
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
534 help
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
535 /iccf
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
536 call assert_match('^|iccf|', getline('.'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
537 call assert_equal(2, winnr('$'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
538 2wincmd }
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
539 call assert_equal(3, winnr('$'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
540 call assert_match('^|iccf|', getline('.'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
541 wincmd k
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
542 call assert_match('\*iccf\*', getline('.'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
543 call assert_equal(2, winheight(0))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
544
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
545 wincmd z
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
546 set previewheight=4
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
547 help
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
548 /bugs
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
549 wincmd }
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
550 wincmd k
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
551 call assert_match('\*bugs\*', getline('.'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
552 call assert_equal(4, winheight(0))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
553 set previewheight&
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
554
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
555 %bw!
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
556 endfunc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
557
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
558 func Test_window_newtab()
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
559 e Xa
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
560
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
561 call assert_equal(1, tabpagenr('$'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
562 call assert_equal("\nAlready only one window", execute('wincmd T'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
563
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
564 split Xb
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
565 split Xc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
566
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
567 wincmd T
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
568 call assert_equal(2, tabpagenr('$'))
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
569 call assert_equal(['Xb', 'Xa'], map(tabpagebuflist(1), 'bufname(v:val)'))
18031
8a2fb21c23c0 patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17746
diff changeset
570 call assert_equal(['Xc' ], map(2->tabpagebuflist(), 'bufname(v:val)'))
19783
546bdeef35f1 patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19752
diff changeset
571 call assert_equal(['Xc' ], map(tabpagebuflist(), 'bufname(v:val)'))
11197
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
572
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
573 %bw!
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
574 endfunc
7f355d8cd634 patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents: 11193
diff changeset
575
11193
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
576 func Test_next_split_all()
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
577 " This was causing an illegal memory access.
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
578 n x
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
579 norm axxx
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
580 split
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
581 split
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
582 s/x
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
583 s/x
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
584 all
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
585 bwipe!
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
586 endfunc
75ccc8a15a51 patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents: 9909
diff changeset
587
12019
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
588 " Tests for adjusting window and contents
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
589 func GetScreenStr(row)
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
590 let str = ""
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
591 for c in range(1,3)
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
592 let str .= nr2char(screenchar(a:row, c))
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
593 endfor
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
594 return str
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
595 endfunc
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
596
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
597 func Test_window_contents()
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
598 enew! | only | new
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
599 call setline(1, range(1,256))
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
600
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
601 exe "norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+"
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
602 redraw
13880
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
603 let s3 = GetScreenStr(1)
12019
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
604 wincmd p
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
605 call assert_equal(1, line("w0"))
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
606 call assert_equal('1 ', s3)
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
607
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
608 exe "norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+"
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
609 redraw
13880
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
610 let s3 = GetScreenStr(1)
12019
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
611 wincmd p
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
612 call assert_equal(50, line("w0"))
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
613 call assert_equal('50 ', s3)
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
614
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
615 exe "norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+"
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
616 redraw
13880
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
617 let s3 = GetScreenStr(1)
12019
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
618 wincmd p
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
619 call assert_equal(59, line("w0"))
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
620 call assert_equal('59 ', s3)
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
621
19724
b3e93a05c3ca patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19435
diff changeset
622 %d
b3e93a05c3ca patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19435
diff changeset
623 call setline(1, ['one', 'two', 'three'])
b3e93a05c3ca patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19435
diff changeset
624 call assert_equal(1, line('w0'))
b3e93a05c3ca patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19435
diff changeset
625 call assert_equal(3, line('w$'))
b3e93a05c3ca patch 8.2.0418: code in eval.c not sufficiently covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19435
diff changeset
626
12019
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
627 bwipeout!
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
628 call test_garbagecollect_now()
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
629 endfunc
7d7835ab8b37 patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents: 11591
diff changeset
630
13072
50aa6da392ce patch 8.0.1411: reading invalid memory with CTRL-W :
Christian Brabandt <cb@256bit.org>
parents: 12977
diff changeset
631 func Test_window_colon_command()
50aa6da392ce patch 8.0.1411: reading invalid memory with CTRL-W :
Christian Brabandt <cb@256bit.org>
parents: 12977
diff changeset
632 " This was reading invalid memory.
50aa6da392ce patch 8.0.1411: reading invalid memory with CTRL-W :
Christian Brabandt <cb@256bit.org>
parents: 12977
diff changeset
633 exe "norm! v\<C-W>:\<C-U>echo v:version"
50aa6da392ce patch 8.0.1411: reading invalid memory with CTRL-W :
Christian Brabandt <cb@256bit.org>
parents: 12977
diff changeset
634 endfunc
50aa6da392ce patch 8.0.1411: reading invalid memory with CTRL-W :
Christian Brabandt <cb@256bit.org>
parents: 12977
diff changeset
635
13144
20fb8c711050 patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents: 13072
diff changeset
636 func Test_access_freed_mem()
17516
711db62c8aca patch 8.1.1756: autocommand that splits window messes up window layout
Bram Moolenaar <Bram@vim.org>
parents: 17360
diff changeset
637 call assert_equal(&columns, winwidth(0))
23758
97296182d336 patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents: 23748
diff changeset
638 " This was accessing freed memory (but with what events?)
97296182d336 patch 8.2.2420: too many problems with using all autocommand events
Bram Moolenaar <Bram@vim.org>
parents: 23748
diff changeset
639 au BufEnter,BufLeave,WinEnter,WinLeave 0 vs xxx
13144
20fb8c711050 patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents: 13072
diff changeset
640 arg 0
20fb8c711050 patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents: 13072
diff changeset
641 argadd
21265
6a4806e326dd patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents: 21020
diff changeset
642 call assert_fails("all", "E242:")
13144
20fb8c711050 patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents: 13072
diff changeset
643 au!
20fb8c711050 patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents: 13072
diff changeset
644 bwipe xxx
17516
711db62c8aca patch 8.1.1756: autocommand that splits window messes up window layout
Bram Moolenaar <Bram@vim.org>
parents: 17360
diff changeset
645 call assert_equal(&columns, winwidth(0))
13144
20fb8c711050 patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents: 13072
diff changeset
646 endfunc
20fb8c711050 patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents: 13072
diff changeset
647
18253
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
648 func Test_insert_cleared_on_switch_to_term()
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
649 CheckFeature terminal
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
650
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
651 set showmode
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
652 terminal
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
653 wincmd p
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
654
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
655 call feedkeys("i\<C-O>", 'ntx')
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
656 redraw
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
657
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
658 " The "-- (insert) --" indicator should be visible.
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
659 let chars = map(range(1, &columns), 'nr2char(screenchar(&lines, v:val))')
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
660 let str = trim(join(chars, ''))
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
661 call assert_equal('-- (insert) --', str)
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
662
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
663 call feedkeys("\<C-W>p", 'ntx')
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
664 redraw
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
665
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
666 " The "-- (insert) --" indicator should have been cleared.
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
667 let chars = map(range(1, &columns), 'nr2char(screenchar(&lines, v:val))')
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
668 let str = trim(join(chars, ''))
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
669 call assert_equal('', str)
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
670
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
671 set showmode&
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
672 %bw!
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
673 endfunc
783f796a1426 patch 8.1.2121: mode is not updated when switching to terminal
Bram Moolenaar <Bram@vim.org>
parents: 18049
diff changeset
674
13666
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
675 func Test_visual_cleared_after_window_split()
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
676 new | only!
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
677 let smd_save = &showmode
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
678 set showmode
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
679 let ls_save = &laststatus
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
680 set laststatus=1
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
681 call setline(1, ['a', 'b', 'c', 'd', ''])
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
682 norm! G
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
683 exe "norm! kkvk"
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
684 redraw
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
685 exe "norm! \<C-W>v"
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
686 redraw
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
687 " check if '-- VISUAL --' disappeared from command line
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
688 let columns = range(1, &columns)
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
689 let cmdlinechars = map(columns, 'nr2char(screenchar(&lines, v:val))')
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
690 let cmdline = join(cmdlinechars, '')
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
691 let cmdline_ltrim = substitute(cmdline, '^\s*', "", "")
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
692 let mode_shown = substitute(cmdline_ltrim, '\s*$', "", "")
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
693 call assert_equal('', mode_shown)
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
694 let &showmode = smd_save
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
695 let &laststatus = ls_save
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
696 bwipe!
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
697 endfunc
57da3d873f20 patch 8.0.1705: when making a vertical split the mode message isn't updated
Christian Brabandt <cb@256bit.org>
parents: 13144
diff changeset
698
13880
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
699 func Test_winrestcmd()
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
700 2split
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
701 3vsplit
24180
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
702 let restcmd = winrestcmd()
13880
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
703 call assert_equal(2, winheight(0))
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
704 call assert_equal(3, winwidth(0))
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
705 wincmd =
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
706 call assert_notequal(2, winheight(0))
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
707 call assert_notequal(3, winwidth(0))
24180
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
708 exe restcmd
13880
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
709 call assert_equal(2, winheight(0))
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
710 call assert_equal(3, winwidth(0))
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
711 only
24180
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
712
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
713 wincmd v
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
714 wincmd s
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
715 wincmd v
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
716 redraw
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
717 let restcmd = winrestcmd()
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
718 wincmd _
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
719 wincmd |
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
720 exe restcmd
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
721 redraw
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
722 call assert_equal(restcmd, winrestcmd())
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
723
3c165c7432ff patch 8.2.2631: commands from winrestcmd() do not always work properly
Bram Moolenaar <Bram@vim.org>
parents: 23758
diff changeset
724 only
13880
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
725 endfunc
60e80884994d patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents: 13666
diff changeset
726
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 15241
diff changeset
727 func Fun_RenewFile()
17746
a4e488a6655c patch 8.1.1870: using :pedit from a help file sets help filetype
Bram Moolenaar <Bram@vim.org>
parents: 17516
diff changeset
728 " Need to wait a bit for the timestamp to be older.
18031
8a2fb21c23c0 patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17746
diff changeset
729 let old_ftime = getftime("tmp.txt")
8a2fb21c23c0 patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17746
diff changeset
730 while getftime("tmp.txt") == old_ftime
8a2fb21c23c0 patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17746
diff changeset
731 sleep 100m
8a2fb21c23c0 patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17746
diff changeset
732 silent execute '!echo "1" > tmp.txt'
8a2fb21c23c0 patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17746
diff changeset
733 endwhile
15241
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
734 sp
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
735 wincmd p
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
736 edit! tmp.txt
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 15241
diff changeset
737 endfunc
15241
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
738
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
739 func Test_window_prevwin()
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
740 " Can we make this work on MS-Windows?
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
741 CheckUnix
15241
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
742
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
743 set hidden autoread
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
744 call writefile(['2'], 'tmp.txt')
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
745 new tmp.txt
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
746 q
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
747 call Fun_RenewFile()
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
748 call assert_equal(2, winnr())
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
749 wincmd p
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
750 call assert_equal(1, winnr())
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
751 wincmd p
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
752 q
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
753 call Fun_RenewFile()
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
754 call assert_equal(2, winnr())
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
755 wincmd p
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
756 call assert_equal(1, winnr())
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
757 wincmd p
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
758 " reset
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
759 q
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
760 call delete('tmp.txt')
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
761 set hidden&vim autoread&vim
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
762 delfunc Fun_RenewFile
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
763 endfunc
83ff85896a14 patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents: 15014
diff changeset
764
15977
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
765 func Test_relative_cursor_position_in_one_line_window()
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
766 new
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
767 only
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
768 call setline(1, range(1, 10000))
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
769 normal 50%
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
770 let lnum = getcurpos()[1]
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
771 split
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
772 split
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
773 " make third window take as many lines as possible, other windows will
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
774 " become one line
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
775 3wincmd w
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
776 for i in range(1, &lines - 6)
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
777 wincmd +
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
778 redraw!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
779 endfor
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
780
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
781 " first and second window should show cursor line
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
782 let wininfo = getwininfo()
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
783 call assert_equal(lnum, wininfo[0].topline)
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
784 call assert_equal(lnum, wininfo[1].topline)
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
785
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
786 only!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
787 bwipe!
29994
86eb4aba16c3 patch 9.0.0335: checks for Dictionary argument often give a vague error
Bram Moolenaar <Bram@vim.org>
parents: 29694
diff changeset
788 call assert_fails('call winrestview(test_null_dict())', 'E1297:')
15977
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
789 endfunc
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
790
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
791 func Test_relative_cursor_position_after_move_and_resize()
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
792 let so_save = &so
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
793 set so=0
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
794 enew
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
795 call setline(1, range(1, 10000))
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
796 normal 50%
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
797 split
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
798 1wincmd w
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
799 " Move cursor to first line in window
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
800 normal H
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
801 redraw!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
802 " Reduce window height to two lines
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
803 let height = winheight(0)
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
804 while winheight(0) > 2
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
805 wincmd -
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
806 redraw!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
807 endwhile
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
808 " move cursor to second/last line in window
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
809 normal j
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
810 " restore previous height
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
811 while winheight(0) < height
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
812 wincmd +
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
813 redraw!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
814 endwhile
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
815 " make window two lines again
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
816 while winheight(0) > 2
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
817 wincmd -
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
818 redraw!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
819 endwhile
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
820
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
821 " cursor should be at bottom line
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
822 let info = getwininfo(win_getid())[0]
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
823 call assert_equal(info.topline + 1, getcurpos()[1])
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
824
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
825 only!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
826 bwipe!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
827 let &so = so_save
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
828 endfunc
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
829
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
830 func Test_relative_cursor_position_after_resize()
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
831 let so_save = &so
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
832 set so=0
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
833 enew
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
834 call setline(1, range(1, 10000))
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
835 normal 50%
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
836 split
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
837 1wincmd w
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
838 let winid1 = win_getid()
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
839 let info = getwininfo(winid1)[0]
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
840 " Move cursor to second line in window
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
841 exe "normal " . (info.topline + 1) . "G"
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
842 redraw!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
843 let lnum = getcurpos()[1]
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
844
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
845 " Make the window only two lines high, cursor should end up in top line
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
846 2wincmd w
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
847 exe (info.height - 2) . "wincmd +"
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
848 redraw!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
849 let info = getwininfo(winid1)[0]
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
850 call assert_equal(lnum, info.topline)
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
851
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
852 only!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
853 bwipe!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
854 let &so = so_save
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
855 endfunc
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
856
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
857 func Test_relative_cursor_second_line_after_resize()
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
858 let so_save = &so
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
859 set so=0
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
860 enew
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
861 call setline(1, range(1, 10000))
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
862 normal 50%
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
863 split
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
864 1wincmd w
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
865 let winid1 = win_getid()
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
866 let info = getwininfo(winid1)[0]
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
867
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
868 " Make the window only two lines high
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
869 2wincmd _
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
870
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
871 " Move cursor to second line in window
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
872 normal H
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
873 normal j
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
874
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
875 " Make window size bigger, then back to 2 lines
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
876 for i in range(1, 10)
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
877 wincmd +
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
878 redraw!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
879 endfor
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
880 for i in range(1, 10)
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
881 wincmd -
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
882 redraw!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
883 endfor
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
884
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
885 " cursor should end up in bottom line
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
886 let info = getwininfo(winid1)[0]
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
887 call assert_equal(info.topline + 1, getcurpos()[1])
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
888
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
889 only!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
890 bwipe!
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
891 let &so = so_save
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
892 endfunc
7fbdceabad64 patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
893
16650
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
894 func Test_split_noscroll()
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
895 let so_save = &so
16690
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
896 enew
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
897 call setline(1, range(1, 8))
16650
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
898 normal 100%
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
899 split
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
900
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
901 1wincmd w
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
902 let winid1 = win_getid()
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
903 let info1 = getwininfo(winid1)[0]
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
904
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
905 2wincmd w
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
906 let winid2 = win_getid()
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
907 let info2 = getwininfo(winid2)[0]
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
908
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
909 call assert_equal(1, info1.topline)
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
910 call assert_equal(1, info2.topline)
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
911
16690
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
912 " window that fits all lines by itself, but not when split: closing other
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
913 " window should restore fraction.
16650
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
914 only!
16690
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
915 call setline(1, range(1, &lines - 10))
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
916 exe &lines / 4
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
917 let winid1 = win_getid()
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
918 let info1 = getwininfo(winid1)[0]
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
919 call assert_equal(1, info1.topline)
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
920 new
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
921 redraw
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
922 close
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
923 let info1 = getwininfo(winid1)[0]
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
924 call assert_equal(1, info1.topline)
4e3c4e8e465c patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents: 16650
diff changeset
925
16650
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
926 bwipe!
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
927 let &so = so_save
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
928 endfunc
06fd0eaada01 patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents: 16271
diff changeset
929
16271
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
930 " Tests for the winnr() function
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
931 func Test_winnr()
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
932 only | tabonly
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
933 call assert_equal(1, winnr('j'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
934 call assert_equal(1, winnr('k'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
935 call assert_equal(1, winnr('h'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
936 call assert_equal(1, winnr('l'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
937
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
938 " create a set of horizontally and vertically split windows
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
939 leftabove new | wincmd p
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
940 leftabove new | wincmd p
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
941 rightbelow new | wincmd p
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
942 rightbelow new | wincmd p
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
943 leftabove vnew | wincmd p
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
944 leftabove vnew | wincmd p
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
945 rightbelow vnew | wincmd p
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
946 rightbelow vnew | wincmd p
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
947
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
948 call assert_equal(8, winnr('j'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
949 call assert_equal(2, winnr('k'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
950 call assert_equal(4, winnr('h'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
951 call assert_equal(6, winnr('l'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
952 call assert_equal(9, winnr('2j'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
953 call assert_equal(1, winnr('2k'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
954 call assert_equal(3, winnr('2h'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
955 call assert_equal(7, winnr('2l'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
956
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
957 " Error cases
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
958 call assert_fails("echo winnr('0.2k')", 'E15:')
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
959 call assert_equal(2, winnr('-2k'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
960 call assert_fails("echo winnr('-2xj')", 'E15:')
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
961 call assert_fails("echo winnr('j2j')", 'E15:')
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
962 call assert_fails("echo winnr('ll')", 'E15:')
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
963 call assert_fails("echo winnr('5')", 'E15:')
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
964 call assert_equal(4, winnr('0h'))
20178
2fb397573541 patch 8.2.0644: insufficient testing for invalid function arguments
Bram Moolenaar <Bram@vim.org>
parents: 20120
diff changeset
965 call assert_fails("let w = winnr([])", 'E730:')
2fb397573541 patch 8.2.0644: insufficient testing for invalid function arguments
Bram Moolenaar <Bram@vim.org>
parents: 20120
diff changeset
966 call assert_equal('unknown', win_gettype(-1))
2fb397573541 patch 8.2.0644: insufficient testing for invalid function arguments
Bram Moolenaar <Bram@vim.org>
parents: 20120
diff changeset
967 call assert_equal(-1, winheight(-1))
2fb397573541 patch 8.2.0644: insufficient testing for invalid function arguments
Bram Moolenaar <Bram@vim.org>
parents: 20120
diff changeset
968 call assert_equal(-1, winwidth(-1))
16271
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
969
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
970 tabnew
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
971 call assert_equal(8, tabpagewinnr(1, 'j'))
18031
8a2fb21c23c0 patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17746
diff changeset
972 call assert_equal(2, 1->tabpagewinnr('k'))
16271
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
973 call assert_equal(4, tabpagewinnr(1, 'h'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
974 call assert_equal(6, tabpagewinnr(1, 'l'))
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
975
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
976 only | tabonly
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
977 endfunc
243cdc183ec9 patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents: 15977
diff changeset
978
18035
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
979 func Test_winrestview()
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
980 split runtest.vim
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
981 normal 50%
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
982 let view = winsaveview()
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
983 close
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
984 split runtest.vim
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
985 eval view->winrestview()
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
986 call assert_equal(view, winsaveview())
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
987
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
988 bwipe!
29994
86eb4aba16c3 patch 9.0.0335: checks for Dictionary argument often give a vague error
Bram Moolenaar <Bram@vim.org>
parents: 29694
diff changeset
989 call assert_fails('call winrestview(test_null_dict())', 'E1297:')
18035
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
990 endfunc
11dca9732a48 patch 8.1.2013: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
991
18049
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
992 func Test_win_splitmove()
18767
068337e86133 patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18253
diff changeset
993 CheckFeature quickfix
068337e86133 patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents: 18253
diff changeset
994
18049
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
995 edit a
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
996 leftabove split b
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
997 leftabove vsplit c
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
998 leftabove split d
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
999 call assert_equal(0, win_splitmove(winnr(), winnr('l')))
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1000 call assert_equal(bufname(winbufnr(1)), 'c')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1001 call assert_equal(bufname(winbufnr(2)), 'd')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1002 call assert_equal(bufname(winbufnr(3)), 'b')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1003 call assert_equal(bufname(winbufnr(4)), 'a')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1004 call assert_equal(0, win_splitmove(winnr(), winnr('j'), {'vertical': 1}))
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1005 call assert_equal(0, win_splitmove(winnr(), winnr('j'), {'vertical': 1}))
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1006 call assert_equal(bufname(winbufnr(1)), 'c')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1007 call assert_equal(bufname(winbufnr(2)), 'b')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1008 call assert_equal(bufname(winbufnr(3)), 'd')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1009 call assert_equal(bufname(winbufnr(4)), 'a')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1010 call assert_equal(0, win_splitmove(winnr(), winnr('k'), {'vertical': 1}))
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1011 call assert_equal(bufname(winbufnr(1)), 'd')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1012 call assert_equal(bufname(winbufnr(2)), 'c')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1013 call assert_equal(bufname(winbufnr(3)), 'b')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1014 call assert_equal(bufname(winbufnr(4)), 'a')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1015 call assert_equal(0, win_splitmove(winnr(), winnr('j'), {'rightbelow': v:true}))
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1016 call assert_equal(bufname(winbufnr(1)), 'c')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1017 call assert_equal(bufname(winbufnr(2)), 'b')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1018 call assert_equal(bufname(winbufnr(3)), 'a')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1019 call assert_equal(bufname(winbufnr(4)), 'd')
29994
86eb4aba16c3 patch 9.0.0335: checks for Dictionary argument often give a vague error
Bram Moolenaar <Bram@vim.org>
parents: 29694
diff changeset
1020 call assert_fails('call win_splitmove(winnr(), winnr("k"), test_null_dict())', 'E1297:')
18049
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1021 only | bd
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1022
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1023 call assert_fails('call win_splitmove(winnr(), 123)', 'E957:')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1024 call assert_fails('call win_splitmove(123, winnr())', 'E957:')
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1025 call assert_fails('call win_splitmove(winnr(), winnr())', 'E957:')
19065
ef3633932b0c patch 8.2.0093: win_splitmove() can make Vim hang
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
1026
ef3633932b0c patch 8.2.0093: win_splitmove() can make Vim hang
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
1027 tabnew
ef3633932b0c patch 8.2.0093: win_splitmove() can make Vim hang
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
1028 call assert_fails('call win_splitmove(1, win_getid(1, 1))', 'E957:')
ef3633932b0c patch 8.2.0093: win_splitmove() can make Vim hang
Bram Moolenaar <Bram@vim.org>
parents: 18767
diff changeset
1029 tabclose
18049
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1030 endfunc
a9f1656f13c9 patch 8.1.2020: it is not easy to change the window layout
Bram Moolenaar <Bram@vim.org>
parents: 18035
diff changeset
1031
19289
2f0f308c069c patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents: 19065
diff changeset
1032 " Test for the :only command
2f0f308c069c patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents: 19065
diff changeset
1033 func Test_window_only()
2f0f308c069c patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents: 19065
diff changeset
1034 new
2f0f308c069c patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents: 19065
diff changeset
1035 set modified
2f0f308c069c patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents: 19065
diff changeset
1036 new
2f0f308c069c patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents: 19065
diff changeset
1037 call assert_fails('only', 'E445:')
2f0f308c069c patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents: 19065
diff changeset
1038 only!
19425
67fbe280a502 patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
1039 " Test for :only with a count
67fbe280a502 patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
1040 let wid = win_getid()
67fbe280a502 patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
1041 new
67fbe280a502 patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
1042 new
67fbe280a502 patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
1043 3only
67fbe280a502 patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
1044 call assert_equal(1, winnr('$'))
67fbe280a502 patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
1045 call assert_equal(wid, win_getid())
67fbe280a502 patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
1046 call assert_fails('close', 'E444:')
67fbe280a502 patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
1047 call assert_fails('%close', 'E16:')
19289
2f0f308c069c patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents: 19065
diff changeset
1048 endfunc
2f0f308c069c patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents: 19065
diff changeset
1049
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1050 " Test for errors with :wincmd
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1051 func Test_wincmd_errors()
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1052 call assert_fails('wincmd g', 'E474:')
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1053 call assert_fails('wincmd ab', 'E474:')
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1054 endfunc
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1055
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1056 " Test for errors with :winpos
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1057 func Test_winpos_errors()
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1058 if !has("gui_running") && !has('win32')
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1059 call assert_fails('winpos', 'E188:')
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1060 endif
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1061 call assert_fails('winpos 10', 'E466:')
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1062 endfunc
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 19289
diff changeset
1063
19435
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
1064 " Test for +cmd in a :split command
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
1065 func Test_split_cmd()
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
1066 split +set\ readonly
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
1067 call assert_equal(1, &readonly)
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
1068 call assert_equal(2, winnr('$'))
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
1069 close
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
1070 endfunc
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19425
diff changeset
1071
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1072 " Create maximum number of horizontally or vertically split windows and then
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1073 " run commands that create a new horizontally/vertically split window
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1074 func Run_noroom_for_newwindow_test(dir_arg)
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1075 let dir = (a:dir_arg == 'v') ? 'vert ' : ''
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1076
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1077 " Open as many windows as possible
19752
0927df746554 patch 8.2.0432: a few tests fail in a huge terminal
Bram Moolenaar <Bram@vim.org>
parents: 19748
diff changeset
1078 while v:true
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1079 try
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1080 exe dir . 'new'
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1081 catch /E36:/
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1082 break
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1083 endtry
19752
0927df746554 patch 8.2.0432: a few tests fail in a huge terminal
Bram Moolenaar <Bram@vim.org>
parents: 19748
diff changeset
1084 endwhile
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1085
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1086 call writefile(['first', 'second', 'third'], 'Xnorfile1')
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1087 call writefile([], 'Xnorfile2')
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1088 call writefile([], 'Xnorfile3')
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1089
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1090 " Argument list related commands
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1091 args Xnorfile1 Xnorfile2 Xnorfile3
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1092 next
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1093 for cmd in ['sargument 2', 'snext', 'sprevious', 'sNext', 'srewind',
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1094 \ 'sfirst', 'slast']
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1095 call assert_fails(dir .. cmd, 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1096 endfor
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1097 %argdelete
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1098
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1099 " Buffer related commands
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1100 set modified
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1101 hide enew
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1102 for cmd in ['sbuffer Xnorfile1', 'sbnext', 'sbprevious', 'sbNext', 'sbrewind',
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1103 \ 'sbfirst', 'sblast', 'sball', 'sbmodified', 'sunhide']
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1104 call assert_fails(dir .. cmd, 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1105 endfor
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1106
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1107 " Window related commands
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1108 for cmd in ['split', 'split Xnorfile2', 'new', 'new Xnorfile3', 'sview Xnorfile1',
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1109 \ 'sfind runtest.vim']
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1110 call assert_fails(dir .. cmd, 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1111 endfor
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1112
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1113 " Help
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1114 call assert_fails(dir .. 'help', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1115 call assert_fails(dir .. 'helpgrep window', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1116
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1117 " Command-line window
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1118 if a:dir_arg == 'h'
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1119 " Cmd-line window is always a horizontally split window
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1120 call assert_beeps('call feedkeys("q:\<CR>", "xt")')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1121 endif
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1122
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1123 " Quickfix and location list window
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1124 if has('quickfix')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1125 cexpr ''
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1126 call assert_fails(dir .. 'copen', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1127 lexpr ''
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1128 call assert_fails(dir .. 'lopen', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1129
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1130 " Preview window
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1131 call assert_fails(dir .. 'pedit Xnorfile2', 'E36:')
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1132 call setline(1, 'abc')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1133 call assert_fails(dir .. 'psearch abc', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1134 endif
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1135
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1136 " Window commands (CTRL-W ^ and CTRL-W f)
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1137 if a:dir_arg == 'h'
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1138 call assert_fails('call feedkeys("\<C-W>^", "xt")', 'E36:')
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1139 call setline(1, 'Xnorfile1')
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1140 call assert_fails('call feedkeys("gg\<C-W>f", "xt")', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1141 endif
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1142 enew!
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1143
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1144 " Tag commands (:stag, :stselect and :stjump)
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1145 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//",
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1146 \ "second\tXnorfile1\t2",
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1147 \ "third\tXnorfile1\t3",],
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1148 \ 'Xtags')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1149 set tags=Xtags
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1150 call assert_fails(dir .. 'stag second', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1151 call assert_fails('call feedkeys(":" .. dir .. "stselect second\n1\n", "xt")', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1152 call assert_fails(dir .. 'stjump second', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1153 call assert_fails(dir .. 'ptag second', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1154 set tags&
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1155 call delete('Xtags')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1156
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1157 " :isplit and :dsplit
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1158 call setline(1, ['#define FOO 1', 'FOO'])
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1159 normal 2G
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1160 call assert_fails(dir .. 'isplit FOO', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1161 call assert_fails(dir .. 'dsplit FOO', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1162
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1163 " terminal
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1164 if has('terminal')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1165 call assert_fails(dir .. 'terminal', 'E36:')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1166 endif
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1167
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1168 %bwipe!
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1169 call delete('Xnorfile1')
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1170 call delete('Xnorfile2')
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1171 call delete('Xnorfile3')
19748
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1172 only
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1173 endfunc
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1174
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1175 func Test_split_cmds_with_no_room()
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1176 call Run_noroom_for_newwindow_test('h')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1177 call Run_noroom_for_newwindow_test('v')
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1178 endfunc
d089bd9511c0 patch 8.2.0430: window creation failure not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
1179
20120
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1180 " Test for various wincmd failures
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1181 func Test_wincmd_fails()
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1182 only!
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1183 call assert_beeps("normal \<C-W>w")
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1184 call assert_beeps("normal \<C-W>p")
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1185 call assert_beeps("normal \<C-W>gk")
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1186 call assert_beeps("normal \<C-W>r")
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1187 call assert_beeps("normal \<C-W>K")
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1188 call assert_beeps("normal \<C-W>H")
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1189 call assert_beeps("normal \<C-W>2gt")
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1190 endfunc
16460964c304 patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents: 19932
diff changeset
1191
22073
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1192 func Test_window_resize()
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1193 " Vertical :resize (absolute, relative, min and max size).
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1194 vsplit
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1195 vert resize 8
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1196 call assert_equal(8, winwidth(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1197 vert resize +2
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1198 call assert_equal(10, winwidth(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1199 vert resize -2
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1200 call assert_equal(8, winwidth(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1201 vert resize
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1202 call assert_equal(&columns - 2, winwidth(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1203 vert resize 0
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1204 call assert_equal(1, winwidth(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1205 vert resize 99999
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1206 call assert_equal(&columns - 2, winwidth(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1207
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1208 %bwipe!
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1209
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1210 " Horizontal :resize (with absolute, relative size, min and max size).
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1211 split
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1212 resize 8
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1213 call assert_equal(8, winheight(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1214 resize +2
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1215 call assert_equal(10, winheight(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1216 resize -2
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1217 call assert_equal(8, winheight(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1218 resize
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1219 call assert_equal(&lines - 4, winheight(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1220 resize 0
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1221 call assert_equal(1, winheight(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1222 resize 99999
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1223 call assert_equal(&lines - 4, winheight(0))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1224
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1225 " :resize with explicit window number.
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1226 let other_winnr = winnr('j')
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1227 exe other_winnr .. 'resize 10'
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1228 call assert_equal(10, winheight(other_winnr))
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1229 call assert_equal(&lines - 10 - 3, winheight(0))
22616
f773ac13c093 patch 8.2.1856: "2resize" uses size of current window
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
1230 exe other_winnr .. 'resize +1'
f773ac13c093 patch 8.2.1856: "2resize" uses size of current window
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
1231 exe other_winnr .. 'resize +1'
f773ac13c093 patch 8.2.1856: "2resize" uses size of current window
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
1232 call assert_equal(12, winheight(other_winnr))
f773ac13c093 patch 8.2.1856: "2resize" uses size of current window
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
1233 call assert_equal(&lines - 10 - 3 -2, winheight(0))
23402
65718283239b patch 8.2.2244: crash when making the window width negative
Bram Moolenaar <Bram@vim.org>
parents: 22616
diff changeset
1234 close
65718283239b patch 8.2.2244: crash when making the window width negative
Bram Moolenaar <Bram@vim.org>
parents: 22616
diff changeset
1235
65718283239b patch 8.2.2244: crash when making the window width negative
Bram Moolenaar <Bram@vim.org>
parents: 22616
diff changeset
1236 vsplit
65718283239b patch 8.2.2244: crash when making the window width negative
Bram Moolenaar <Bram@vim.org>
parents: 22616
diff changeset
1237 wincmd l
65718283239b patch 8.2.2244: crash when making the window width negative
Bram Moolenaar <Bram@vim.org>
parents: 22616
diff changeset
1238 let other_winnr = winnr('h')
65718283239b patch 8.2.2244: crash when making the window width negative
Bram Moolenaar <Bram@vim.org>
parents: 22616
diff changeset
1239 call assert_notequal(winnr(), other_winnr)
23434
0fe2cdcff19b patch 8.2.2260: window resize test fails in very wide terminal
Bram Moolenaar <Bram@vim.org>
parents: 23402
diff changeset
1240 exe 'vert ' .. other_winnr .. 'resize -' .. &columns
23402
65718283239b patch 8.2.2244: crash when making the window width negative
Bram Moolenaar <Bram@vim.org>
parents: 22616
diff changeset
1241 call assert_equal(0, winwidth(other_winnr))
22073
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1242
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1243 %bwipe!
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1244 endfunc
28b302ccfe21 patch 8.2.1586: :resize command not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
1245
21020
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1246 " Test for adjusting the window width when a window is closed with some
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1247 " windows using 'winfixwidth'
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1248 func Test_window_width_adjust()
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1249 only
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1250 " Three vertical windows. Windows 1 and 2 have 'winfixwidth' set and close
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1251 " window 2.
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1252 wincmd v
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1253 vert resize 10
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1254 set winfixwidth
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1255 wincmd v
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1256 set winfixwidth
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1257 wincmd c
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1258 call assert_inrange(10, 12, winwidth(1))
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1259 " Three vertical windows. Windows 2 and 3 have 'winfixwidth' set and close
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1260 " window 3.
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1261 only
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1262 set winfixwidth
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1263 wincmd v
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1264 vert resize 10
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1265 set winfixwidth
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1266 wincmd v
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1267 set nowinfixwidth
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1268 wincmd b
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1269 wincmd c
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1270 call assert_inrange(10, 12, winwidth(2))
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1271
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1272 new | only
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1273 endfunc
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1274
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1275 " Test for jumping to a vertical/horizontal neighbor window based on the
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1276 " current cursor position
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1277 func Test_window_goto_neightbor()
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1278 %bw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1279
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1280 " Vertical window movement
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1281
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1282 " create the following window layout:
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1283 " +--+--+
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1284 " |w1|w3|
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1285 " +--+ |
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1286 " |w2| |
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1287 " +--+--+
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1288 " |w4 |
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1289 " +-----+
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1290 new
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1291 vsplit
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1292 split
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1293 " vertically jump from w4
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1294 wincmd b
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1295 call setline(1, repeat(' ', &columns))
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1296 call cursor(1, 1)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1297 wincmd k
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1298 call assert_equal(2, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1299 wincmd b
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1300 call cursor(1, &columns)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1301 redraw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1302 wincmd k
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1303 call assert_equal(3, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1304 %bw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1305
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1306 " create the following window layout:
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1307 " +--+--+--+
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1308 " |w1|w2|w3|
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1309 " +--+--+--+
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1310 " |w4 |
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1311 " +--------+
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1312 new
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1313 vsplit
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1314 vsplit
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1315 wincmd b
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1316 call setline(1, repeat(' ', &columns))
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1317 call cursor(1, 1)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1318 wincmd k
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1319 call assert_equal(1, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1320 wincmd b
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1321 call cursor(1, &columns / 2)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1322 redraw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1323 wincmd k
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1324 call assert_equal(2, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1325 wincmd b
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1326 call cursor(1, &columns)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1327 redraw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1328 wincmd k
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1329 call assert_equal(3, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1330 %bw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1331
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1332 " Horizontal window movement
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1333
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1334 " create the following window layout:
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1335 " +--+--+--+
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1336 " |w1|w2|w4|
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1337 " +--+--+ |
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1338 " |w3 | |
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1339 " +-----+--+
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1340 vsplit
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1341 split
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1342 vsplit
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1343 4wincmd l
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1344 call setline(1, repeat([' '], &lines))
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1345 call cursor(1, 1)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1346 redraw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1347 wincmd h
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1348 call assert_equal(2, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1349 4wincmd l
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1350 call cursor(&lines, 1)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1351 redraw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1352 wincmd h
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1353 call assert_equal(3, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1354 %bw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1355
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1356 " create the following window layout:
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1357 " +--+--+
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1358 " |w1|w4|
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1359 " +--+ +
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1360 " |w2| |
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1361 " +--+ +
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1362 " |w3| |
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1363 " +--+--+
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1364 vsplit
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1365 split
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1366 split
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1367 wincmd l
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1368 call setline(1, repeat([' '], &lines))
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1369 call cursor(1, 1)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1370 redraw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1371 wincmd h
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1372 call assert_equal(1, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1373 wincmd l
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1374 call cursor(&lines / 2, 1)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1375 redraw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1376 wincmd h
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1377 call assert_equal(2, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1378 wincmd l
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1379 call cursor(&lines, 1)
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1380 redraw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1381 wincmd h
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1382 call assert_equal(3, winnr())
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1383 %bw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1384 endfunc
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1385
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1386 " Test for an autocmd closing the destination window when jumping from one
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1387 " window to another.
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1388 func Test_close_dest_window()
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1389 split
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1390 edit Xdstfile
21020
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1391
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1392 " Test for BufLeave
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1393 augroup T1
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1394 au!
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1395 au BufLeave Xdstfile $wincmd c
21020
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1396 augroup END
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1397 wincmd b
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1398 call assert_equal(1, winnr('$'))
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1399 call assert_equal('Xdstfile', @%)
21020
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1400 augroup T1
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1401 au!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1402 augroup END
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1403
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1404 " Test for WinLeave
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1405 new
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1406 wincmd p
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1407 augroup T1
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1408 au!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1409 au WinLeave * 1wincmd c
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1410 augroup END
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1411 wincmd t
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1412 call assert_equal(1, winnr('$'))
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1413 call assert_equal('Xdstfile', @%)
21020
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1414 augroup T1
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1415 au!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1416 augroup END
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1417 augroup! T1
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1418 %bw!
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1419 endfunc
6c634e63989c patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents: 20178
diff changeset
1420
26468
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1421 func Test_window_minimal_size()
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1422 set winminwidth=0 winminheight=0
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1423
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1424 " check size is fixed vertically
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1425 new
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1426 call win_execute(win_getid(2), 'wincmd _')
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1427 call assert_equal(0, winheight(0))
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1428 call feedkeys('0', 'tx')
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1429 call assert_equal(1, winheight(0))
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1430 bwipe!
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1431
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1432 " check size is fixed horizontally
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1433 vert new
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1434 call win_execute(win_getid(2), 'wincmd |')
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1435 call assert_equal(0, winwidth(0))
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1436 call feedkeys('0', 'tx')
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1437 call assert_equal(1, winwidth(0))
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1438 bwipe!
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1439
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1440 if has('timers')
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1441 " check size is fixed in Insert mode
26520
bea106f5fd26 patch 8.2.3789: Test_window_minimal_size can fail on a slow machine
Bram Moolenaar <Bram@vim.org>
parents: 26468
diff changeset
1442 func s:CheckSize(timer) abort
bea106f5fd26 patch 8.2.3789: Test_window_minimal_size can fail on a slow machine
Bram Moolenaar <Bram@vim.org>
parents: 26468
diff changeset
1443 call win_execute(win_getid(2), 'wincmd _')
bea106f5fd26 patch 8.2.3789: Test_window_minimal_size can fail on a slow machine
Bram Moolenaar <Bram@vim.org>
parents: 26468
diff changeset
1444 call assert_equal(0, winheight(0))
bea106f5fd26 patch 8.2.3789: Test_window_minimal_size can fail on a slow machine
Bram Moolenaar <Bram@vim.org>
parents: 26468
diff changeset
1445 call feedkeys(" \<Esc>", 't!')
bea106f5fd26 patch 8.2.3789: Test_window_minimal_size can fail on a slow machine
Bram Moolenaar <Bram@vim.org>
parents: 26468
diff changeset
1446 endfunc
26468
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1447 new
26520
bea106f5fd26 patch 8.2.3789: Test_window_minimal_size can fail on a slow machine
Bram Moolenaar <Bram@vim.org>
parents: 26468
diff changeset
1448 call timer_start(100, function('s:CheckSize'))
26468
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1449 call feedkeys('a', 'tx!')
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1450 call assert_equal(1, winheight(0))
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1451 bwipe!
26520
bea106f5fd26 patch 8.2.3789: Test_window_minimal_size can fail on a slow machine
Bram Moolenaar <Bram@vim.org>
parents: 26468
diff changeset
1452 delfunc s:CheckSize
26468
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1453 endif
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1454
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1455 set winminwidth& winminheight&
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1456 endfunc
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1457
27047
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1458 func Test_win_move_separator()
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1459 edit a
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1460 leftabove vsplit b
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1461 let w = winwidth(0)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1462 " check win_move_separator from left window on left window
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1463 call assert_equal(1, winnr())
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1464 for offset in range(5)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1465 call assert_true(win_move_separator(0, offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1466 call assert_equal(w + offset, winwidth(0))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1467 call assert_true(0->win_move_separator(-offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1468 call assert_equal(w, winwidth(0))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1469 endfor
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1470 " check win_move_separator from right window on left window number
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1471 wincmd l
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1472 call assert_notequal(1, winnr())
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1473 for offset in range(5)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1474 call assert_true(1->win_move_separator(offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1475 call assert_equal(w + offset, winwidth(1))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1476 call assert_true(win_move_separator(1, -offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1477 call assert_equal(w, winwidth(1))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1478 endfor
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1479 " check win_move_separator from right window on left window ID
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1480 let id = win_getid(1)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1481 for offset in range(5)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1482 call assert_true(win_move_separator(id, offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1483 call assert_equal(w + offset, winwidth(id))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1484 call assert_true(id->win_move_separator(-offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1485 call assert_equal(w, winwidth(id))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1486 endfor
27440
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1487 " check win_move_separator from right window on right window is no-op
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1488 let w0 = winwidth(0)
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1489 call assert_true(win_move_separator(0, 1))
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1490 call assert_equal(w0, winwidth(0))
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1491 call assert_true(win_move_separator(0, -1))
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1492 call assert_equal(w0, winwidth(0))
27047
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1493 " check that win_move_separator doesn't error with offsets beyond moving
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1494 " possibility
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1495 call assert_true(win_move_separator(id, 5000))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1496 call assert_true(winwidth(id) > w)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1497 call assert_true(win_move_separator(id, -5000))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1498 call assert_true(winwidth(id) < w)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1499 " check that win_move_separator returns false for an invalid window
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1500 wincmd =
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1501 let w = winwidth(0)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1502 call assert_false(win_move_separator(-1, 1))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1503 call assert_equal(w, winwidth(0))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1504 " check that win_move_separator returns false for a popup window
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1505 let id = popup_create(['hello', 'world'], {})
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1506 let w = winwidth(id)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1507 call assert_false(win_move_separator(id, 1))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1508 call assert_equal(w, winwidth(id))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1509 call popup_close(id)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1510 %bwipe!
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1511 endfunc
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1512
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1513 func Test_win_move_statusline()
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1514 edit a
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1515 leftabove split b
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1516 let h = winheight(0)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1517 " check win_move_statusline from top window on top window
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1518 call assert_equal(1, winnr())
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1519 for offset in range(5)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1520 call assert_true(win_move_statusline(0, offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1521 call assert_equal(h + offset, winheight(0))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1522 call assert_true(0->win_move_statusline(-offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1523 call assert_equal(h, winheight(0))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1524 endfor
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1525 " check win_move_statusline from bottom window on top window number
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1526 wincmd j
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1527 call assert_notequal(1, winnr())
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1528 for offset in range(5)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1529 call assert_true(1->win_move_statusline(offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1530 call assert_equal(h + offset, winheight(1))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1531 call assert_true(win_move_statusline(1, -offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1532 call assert_equal(h, winheight(1))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1533 endfor
27440
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1534 " check win_move_statusline from bottom window on bottom window
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1535 let h0 = winheight(0)
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1536 for offset in range(5)
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1537 call assert_true(0->win_move_statusline(-offset))
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1538 call assert_equal(h0 - offset, winheight(0))
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1539 call assert_equal(1 + offset, &cmdheight)
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1540 call assert_true(win_move_statusline(0, offset))
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1541 call assert_equal(h0, winheight(0))
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1542 call assert_equal(1, &cmdheight)
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1543 endfor
1118a65c9bc7 patch 8.2.4248: no proper test for moving the window separator
Bram Moolenaar <Bram@vim.org>
parents: 27047
diff changeset
1544 call assert_true(win_move_statusline(0, 1))
30005
bb0e525e1393 patch 9.0.0340: the 'cmdheight' zero support causes too much trouble
Bram Moolenaar <Bram@vim.org>
parents: 29994
diff changeset
1545 call assert_equal(h0, winheight(0))
bb0e525e1393 patch 9.0.0340: the 'cmdheight' zero support causes too much trouble
Bram Moolenaar <Bram@vim.org>
parents: 29994
diff changeset
1546 call assert_equal(1, &cmdheight)
27047
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1547 " check win_move_statusline from bottom window on top window ID
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1548 let id = win_getid(1)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1549 for offset in range(5)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1550 call assert_true(win_move_statusline(id, offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1551 call assert_equal(h + offset, winheight(id))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1552 call assert_true(id->win_move_statusline(-offset))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1553 call assert_equal(h, winheight(id))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1554 endfor
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1555 " check that win_move_statusline doesn't error with offsets beyond moving
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1556 " possibility
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1557 call assert_true(win_move_statusline(id, 5000))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1558 call assert_true(winheight(id) > h)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1559 call assert_true(win_move_statusline(id, -5000))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1560 call assert_true(winheight(id) < h)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1561 " check that win_move_statusline returns false for an invalid window
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1562 wincmd =
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1563 let h = winheight(0)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1564 call assert_false(win_move_statusline(-1, 1))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1565 call assert_equal(h, winheight(0))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1566 " check that win_move_statusline returns false for a popup window
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1567 let id = popup_create(['hello', 'world'], {})
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1568 let h = winheight(id)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1569 call assert_false(win_move_statusline(id, 1))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1570 call assert_equal(h, winheight(id))
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1571 call popup_close(id)
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1572 %bwipe!
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1573 endfunc
b94cdb5ef20e patch 8.2.4052: not easy to resize a window from a plugin
Bram Moolenaar <Bram@vim.org>
parents: 26520
diff changeset
1574
28289
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1575 " Test for window allocation failure
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1576 func Test_window_alloc_failure()
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1577 %bw!
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1578
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1579 " test for creating a new window above current window
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1580 call test_alloc_fail(GetAllocId('newwin_wvars'), 0, 0)
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1581 call assert_fails('above new', 'E342:')
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1582 call assert_equal(1, winnr('$'))
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1583
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1584 " test for creating a new window below current window
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1585 call test_alloc_fail(GetAllocId('newwin_wvars'), 0, 0)
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1586 call assert_fails('below new', 'E342:')
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1587 call assert_equal(1, winnr('$'))
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1588
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1589 " test for popup window creation failure
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1590 call test_alloc_fail(GetAllocId('newwin_wvars'), 0, 0)
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1591 call assert_fails('call popup_create("Hello", {})', 'E342:')
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1592 call assert_equal([], popup_list())
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1593
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1594 call test_alloc_fail(GetAllocId('newwin_wvars'), 0, 0)
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1595 call assert_fails('split', 'E342:')
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1596 call assert_equal(1, winnr('$'))
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1597
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1598 edit Xwaffile1
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1599 edit Xwaffile2
28289
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1600 call test_alloc_fail(GetAllocId('newwin_wvars'), 0, 0)
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1601 call assert_fails('sb Xwaffile1', 'E342:')
28289
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1602 call assert_equal(1, winnr('$'))
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 30009
diff changeset
1603 call assert_equal('Xwaffile2', @%)
28289
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1604 %bw!
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1605
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1606 " FIXME: The following test crashes Vim
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1607 " test for new tabpage creation failure
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1608 " call test_alloc_fail(GetAllocId('newwin_wvars'), 0, 0)
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1609 " call assert_fails('tabnew', 'E342:')
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1610 " call assert_equal(1, tabpagenr('$'))
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1611 " call assert_equal(1, winnr('$'))
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1612
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1613 " This test messes up the internal Vim window/frame information. So the
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1614 " Test_window_cmd_cmdwin_with_vsp() test fails after running this test.
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1615 " Open a new tab and close everything else to fix this issue.
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1616 tabnew
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1617 tabonly
cdaff4db7760 patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents: 27440
diff changeset
1618 endfunc
26468
2fc13817b100 patch 8.2.3764: cannot see any text when window was made zero lines
Bram Moolenaar <Bram@vim.org>
parents: 24882
diff changeset
1619
30134
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1620 func Test_win_equal_last_status()
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1621 let save_lines = &lines
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1622 set lines=20
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1623 set splitbelow
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1624 set laststatus=0
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1625
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1626 split | split | quit
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1627 call assert_equal(winheight(1), winheight(2))
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1628
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1629 let &lines = save_lines
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1630 set splitbelow&
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1631 set laststatus&
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1632 endfunc
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1633
30219
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1634 " Ensure no scrolling happens with 'nosplitscroll' with and without a
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1635 " winbar, tabline, for each possible value of 'laststatus', 'scrolloff',
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1636 " 'equalalways', and regardless of the cursor position.
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1637 func Test_splitscroll_with_splits()
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1638 set nowrap
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1639 set nosplitscroll
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1640 let gui = has("gui_running")
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1641 inoremap c <cmd>:copen<CR>
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1642 for winbar in [0, 1]
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1643 for sb in [0, 1]
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1644 for ea in [0, 1]
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1645 for tab in [0, 1]
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1646 for so in [0, 5]
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1647 for ls in range(0, 2)
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1648 for pos in ["H", "M", "L"]
30239
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1649 tabnew | tabonly! | redraw
30219
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1650 let tabline = (gui ? 0 : (tab ? 1 : 0))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1651 let winbar_sb = (sb ? winbar : 0)
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1652 execute 'set scrolloff=' . so
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1653 execute 'set laststatus=' . ls
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1654 execute 'set ' . (ea ? 'equalalways' : 'noequalalways')
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1655 execute 'set ' . (sb ? 'splitbelow' : 'nosplitbelow')
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1656 execute tab ? 'tabnew' : ''
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1657 execute winbar ? 'nnoremenu 1.10 WinBar.Test :echo' : ''
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1658 call setline(1, range(1, 256))
30239
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1659 " No scroll for restore_snapshot
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1660 norm G
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1661 try
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1662 copen | close | colder
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1663 catch /E380/
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1664 endtry
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1665 call assert_equal(257 - winheight(0), line("w0"))
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1666
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1667 " No scroll for firstwin horizontal split
30219
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1668 execute 'norm gg' . pos
30239
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1669 split | redraw | wincmd k
30219
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1670 call assert_equal(1, line("w0"))
30251
0288baaedf91 patch 9.0.0461: 'scroll' is not always updated
Bram Moolenaar <Bram@vim.org>
parents: 30239
diff changeset
1671 call assert_equal(&scroll, winheight(0) / 2)
30239
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1672 wincmd j
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1673 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
30219
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1674
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1675 " No scroll when resizing windows
30239
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1676 wincmd k | resize +2
30219
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1677 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1678 wincmd j
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1679 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1680
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1681 " No scroll when dragging statusline
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1682 call win_move_statusline(1, -3)
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1683 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1684 wincmd k
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1685 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1686
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1687 " No scroll when changing shellsize
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1688 set lines+=2
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1689 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1690 wincmd j
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1691 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1692 set lines-=2
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1693 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1694 wincmd k
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1695 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1696
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1697 " No scroll when equalizing windows
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1698 wincmd =
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1699 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1700 wincmd j
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1701 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1702 wincmd k
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1703 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1704
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1705 " No scroll in windows split multiple times
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1706 vsplit | split | 4wincmd w
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1707 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1708 1wincmd w | quit | wincmd l | split
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1709 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1710 wincmd j
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1711 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1712
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1713 " No scroll in small window
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1714 2wincmd w | only | 5split | wincmd k
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1715 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1716 wincmd j
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1717 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1718
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1719 " No scroll for vertical split
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1720 quit | vsplit | wincmd l
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1721 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1722 wincmd h
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1723 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1724
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1725 " No scroll in windows split and quit multiple times
30239
91ecee475811 patch 9.0.0455: a few problems with 'splitscroll'
Bram Moolenaar <Bram@vim.org>
parents: 30219
diff changeset
1726 quit | redraw | split | redraw | split | redraw | quit | redraw
30219
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1727 call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1728
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1729 " No scroll for new buffer
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1730 1wincmd w | only | copen | wincmd k
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1731 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1732 only
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1733 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1734 above copen | wincmd j
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1735 call assert_equal(win_screenpos(0)[0] - tabline, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1736
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1737 " No scroll when opening cmdwin
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1738 only | norm ggLq:
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1739 call assert_equal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1740
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1741 " Scroll when cursor becomes invalid in insert mode
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1742 norm Lic
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1743 wincmd k | only
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1744 call assert_notequal(1, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1745
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1746 " No scroll when topline not equal to 1
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1747 execute "norm gg5\<C-e>" | split | wincmd k
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1748 call assert_equal(6, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1749 wincmd j
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1750 call assert_equal(5 + win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1751 endfor
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1752 endfor
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1753 endfor
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1754 endfor
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1755 endfor
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1756 endfor
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1757 endfor
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1758
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1759 tabnew | tabonly! | %bwipeout!
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1760 iunmap c
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1761 set wrap&
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1762 set scrolloff&
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1763 set splitbelow&
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1764 set laststatus&
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1765 set equalalways&
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1766 set splitscroll&
bc8ad1c28b51 patch 9.0.0445: when opening/closing window text moves up/down
Bram Moolenaar <Bram@vim.org>
parents: 30134
diff changeset
1767 endfunc
30134
0211a930d873 patch 9.0.0403: 'equalalways' may be off when 'laststatus' is zero
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
1768
9909
3ee84d270ea7 commit https://github.com/vim/vim/commit/9e4d8215d386100ab660d7d11e6620fd148b605e
Christian Brabandt <cb@256bit.org>
parents: 9349
diff changeset
1769 " vim: shiftwidth=2 sts=2 expandtab