Mercurial > vim
annotate src/testdir/test_window_cmd.vim @ 17516:711db62c8aca v8.1.1756
patch 8.1.1756: autocommand that splits window messes up window layout
commit https://github.com/vim/vim/commit/1417c766f55e5959b31da488417b7d9b141404af
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 27 17:31:36 2019 +0200
patch 8.1.1756: autocommand that splits window messes up window layout
Problem: Autocommand that splits window messes up window layout.
Solution: Disallow splitting a window while closing one. In ":all" give an
error when moving a window will not work.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 27 Jul 2019 17:45:06 +0200 |
parents | cb71b5e9e5d9 |
children | a4e488a6655c |
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 |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 func Test_window_cmd_ls0_with_split() |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 set ls=0 |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 set splitbelow |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 split |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 quit |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 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
|
9 new | only! |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 " |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 set splitbelow&vim |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 botright split |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 quit |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 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
|
15 new | only! |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 set ls&vim |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 endfunc |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 func Test_window_cmd_cmdwin_with_vsp() |
13880
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
20 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
|
21 for v in range(0, 2) |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 exec "set ls=" . v |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 vsplit |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 call feedkeys("q:\<CR>") |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 let ac = &lines - (&cmdheight + winheight(0) + !!v) |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 let emsg = printf(efmt, ac, v, 'left') |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 call assert_equal(0, ac, emsg) |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 wincmd w |
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, 'right') |
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 new | only! |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 endfor |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 set ls&vim |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 endfunc |
0e90f3e13d88
commit https://github.com/vim/vim/commit/991dea3ab185fb35e577ab0bdfd443cd4b43ccc6
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 |
9349
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
37 function Test_window_cmd_wincmd_gf() |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
38 let fname = 'test_gf.txt' |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
39 let swp_fname = '.' . fname . '.swp' |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
40 call writefile([], fname) |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
41 call writefile([], swp_fname) |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
42 function s:swap_exists() |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
43 let v:swapchoice = s:swap_choice |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
44 endfunc |
17360
cb71b5e9e5d9
patch 8.1.1679: test using SwapExists autocommand file may fail
Bram Moolenaar <Bram@vim.org>
parents:
16690
diff
changeset
|
45 " 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
|
46 au! SwapExists |
9349
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
47 augroup test_window_cmd_wincmd_gf |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
48 autocmd! |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
49 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
|
50 augroup END |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
51 |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
52 call setline(1, fname) |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
53 " (E)dit anyway |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
54 let s:swap_choice = 'e' |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
55 wincmd gf |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
56 call assert_equal(2, tabpagenr()) |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
57 call assert_equal(fname, bufname("%")) |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
58 quit! |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
59 |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
60 " (Q)uit |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
61 let s:swap_choice = 'q' |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
62 wincmd gf |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
63 call assert_equal(1, tabpagenr()) |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
64 call assert_notequal(fname, bufname("%")) |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
65 new | only! |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
66 |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
67 call delete(fname) |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
68 call delete(swp_fname) |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
69 augroup! test_window_cmd_wincmd_gf |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
70 endfunc |
b24900b73f90
commit https://github.com/vim/vim/commit/5d2ca0402954ff79b73d9c86cc16c8a6454b75a7
Christian Brabandt <cb@256bit.org>
parents:
9102
diff
changeset
|
71 |
11197
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
72 func Test_window_quit() |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
73 e Xa |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
74 split Xb |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
75 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
|
76 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
|
77 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
|
78 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
79 wincmd q |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
80 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
|
81 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
|
82 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
83 bw Xa Xb |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
84 endfunc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
85 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
86 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
|
87 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
|
88 3wincmd s |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
89 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
|
90 call assert_equal(3, winheight(0)) |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
91 call assert_equal(winwidth(1), winwidth(2)) |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
92 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
93 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
|
94 bw |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
95 endfunc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
96 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
97 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
|
98 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
|
99 3wincmd v |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
100 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
|
101 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
|
102 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
|
103 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
104 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
|
105 bw |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
106 endfunc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
107 |
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
|
108 " 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
|
109 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
|
110 |
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
|
111 " 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
|
112 edit Xfoo | %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
|
113 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
|
114 |
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
|
115 " 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
|
116 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
|
117 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
|
118 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
|
119 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
|
120 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
|
121 |
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
|
122 " 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
|
123 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
|
124 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
|
125 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
|
126 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
|
127 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
|
128 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
|
129 |
15012
55663ef68467
patch 8.1.0517: Test_window_split_edit_alternate() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents:
15006
diff
changeset
|
130 " 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
|
131 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
|
132 " 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
|
133 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
|
134 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
|
135 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
|
136 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
|
137 |
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
|
138 %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
|
139 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
|
140 |
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 ":[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
|
142 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
|
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 %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
|
145 let l:nr = bufnr('%') + 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
|
146 call assert_fails(':execute "normal! ' . l:nr . '\<C-W>\<C-^>"', 'E92') |
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
|
147 call assert_fails(':' . l:nr . 'wincmd ^', 'E16') |
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 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
|
149 |
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
|
150 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
|
151 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
|
152 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
|
153 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
|
154 |
15014
cc4c41448d77
patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents:
15012
diff
changeset
|
155 " 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
|
156 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
|
157 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
|
158 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
|
159 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
|
160 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
|
161 |
15014
cc4c41448d77
patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents:
15012
diff
changeset
|
162 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
|
163 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
|
164 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
|
165 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
|
166 |
15014
cc4c41448d77
patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Bram Moolenaar <Bram@vim.org>
parents:
15012
diff
changeset
|
167 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
|
168 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
|
169 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
|
170 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
|
171 |
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 %bw! |
11197
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
173 endfunc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
174 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
175 func Test_window_preview() |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
176 " Open a preview window |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
177 pedit Xa |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
178 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
|
179 call assert_equal(0, &previewwindow) |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
180 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
181 " Go to the preview window |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
182 wincmd P |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
183 call assert_equal(1, &previewwindow) |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
184 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
185 " Close preview window |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
186 wincmd z |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
187 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
|
188 call assert_equal(0, &previewwindow) |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
189 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
190 call assert_fails('wincmd P', 'E441:') |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
191 endfunc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
192 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
193 func Test_window_exchange() |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
194 e Xa |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
195 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
196 " 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
|
197 wincmd x |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
198 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
|
199 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
200 split Xb |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
201 split Xc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
202 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
203 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
|
204 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
|
205 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
|
206 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
207 " 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
|
208 3wincmd x |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
209 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
|
210 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
|
211 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
|
212 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
213 " 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
|
214 wincmd x |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
215 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
|
216 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
|
217 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
|
218 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
219 " 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
|
220 wincmd j |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
221 wincmd x |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
222 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
|
223 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
|
224 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
|
225 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
226 " 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
|
227 " 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
|
228 wincmd j |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
229 wincmd x |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
230 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
|
231 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
|
232 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
|
233 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
234 bw Xa Xb Xc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
235 endfunc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
236 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
237 func Test_window_rotate() |
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 split Xb |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
240 split Xc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
241 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
|
242 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
|
243 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
|
244 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
245 " Rotate downwards |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
246 wincmd r |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
247 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
|
248 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
|
249 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
|
250 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
251 2wincmd r |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
252 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
|
253 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
|
254 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
|
255 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
256 " Rotate upwards |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
257 wincmd R |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
258 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
|
259 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
|
260 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
|
261 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
262 2wincmd R |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
263 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
|
264 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
|
265 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
|
266 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
267 bot vsplit |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
268 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
|
269 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
270 bw Xa Xb Xc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
271 endfunc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
272 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
273 func Test_window_height() |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
274 e Xa |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
275 split Xb |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
276 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
277 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
|
278 " 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
|
279 " than the other window. |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
280 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
|
281 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
282 wincmd - |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
283 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
|
284 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
|
285 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
286 wincmd + |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
287 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
|
288 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
|
289 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
290 2wincmd _ |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
291 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
|
292 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
|
293 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
294 wincmd = |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
295 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
|
296 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
|
297 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
298 2wincmd _ |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
299 set winfixheight |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
300 split Xc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
301 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
|
302 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
|
303 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
|
304 3wincmd + |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
305 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
|
306 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
|
307 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
|
308 wincmd = |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
309 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
|
310 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
|
311 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
|
312 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
313 wincmd j |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
314 set winfixheight& |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
315 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
316 wincmd = |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
317 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
|
318 " 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
|
319 " than the other windows. |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
320 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
|
321 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
|
322 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
323 bw Xa Xb Xc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
324 endfunc |
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 func Test_window_width() |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
327 e Xa |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
328 vsplit Xb |
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 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
|
331 " 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
|
332 " than the other window. |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
333 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
|
334 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
335 wincmd < |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
336 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
|
337 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
|
338 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
339 wincmd > |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
340 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
|
341 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
|
342 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
343 2wincmd | |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
344 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
|
345 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
|
346 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
347 wincmd = |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
348 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
|
349 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
|
350 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
351 2wincmd | |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
352 set winfixwidth |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
353 vsplit Xc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
354 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
|
355 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
|
356 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
|
357 3wincmd > |
11207
e6140f3d2be7
patch 8.0.0490: vertical split makes 'winfixwidth' window smaller
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
358 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
|
359 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
|
360 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
|
361 wincmd = |
11207
e6140f3d2be7
patch 8.0.0490: vertical split makes 'winfixwidth' window smaller
Christian Brabandt <cb@256bit.org>
parents:
11197
diff
changeset
|
362 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
|
363 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
|
364 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
|
365 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
366 wincmd l |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
367 set winfixwidth& |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
368 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
369 wincmd = |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
370 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
|
371 " 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
|
372 " than the other windows. |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
373 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
|
374 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
|
375 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
376 bw Xa Xb Xc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
377 endfunc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
378 |
11591
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
379 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
|
380 set equalalways |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
381 vsplit |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
382 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
|
383 split |
11591
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
384 wincmd J |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
385 " 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
|
386 " 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
|
387 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
|
388 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
|
389 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
|
390 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
|
391 " 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
|
392 close |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
393 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
|
394 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
|
395 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
|
396 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
|
397 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
|
398 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
|
399 |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
400 1wincmd w |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
401 split |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
402 4wincmd w |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
403 resize + 5 |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
404 " 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
|
405 " 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
|
406 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
|
407 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
|
408 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
|
409 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
|
410 3wincmd w |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
411 " 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
|
412 " the right column |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
413 close |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
414 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
|
415 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
|
416 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
|
417 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
|
418 |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
419 only |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
420 set equalalways& |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
421 endfunc |
d06a3db9b651
patch 8.0.0678: closing a window does not trigger resizing
Christian Brabandt <cb@256bit.org>
parents:
11207
diff
changeset
|
422 |
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
|
423 func Test_win_screenpos() |
2d817fd289ba
patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents:
12019
diff
changeset
|
424 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
|
425 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
|
426 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
|
427 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
|
428 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
|
429 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
|
430 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
|
431 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
|
432 call assert_equal([0, 0], win_screenpos(4)) |
2d817fd289ba
patch 8.0.1364: there is no easy way to get the window position
Christian Brabandt <cb@256bit.org>
parents:
12019
diff
changeset
|
433 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
|
434 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
|
435 |
11197
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
436 func Test_window_jump_tag() |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
437 help |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
438 /iccf |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
439 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
|
440 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
|
441 2wincmd } |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
442 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
|
443 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
|
444 wincmd k |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
445 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
|
446 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
|
447 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
448 wincmd z |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
449 set previewheight=4 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
450 help |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
451 /bugs |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
452 wincmd } |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
453 wincmd k |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
454 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
|
455 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
|
456 set previewheight& |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
457 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
458 %bw! |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
459 endfunc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
460 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
461 func Test_window_newtab() |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
462 e Xa |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
463 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
464 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
|
465 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
|
466 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
467 split Xb |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
468 split Xc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
469 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
470 wincmd T |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
471 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
|
472 call assert_equal(['Xb', 'Xa'], map(tabpagebuflist(1), 'bufname(v:val)')) |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
473 call assert_equal(['Xc' ], map(tabpagebuflist(2), 'bufname(v:val)')) |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
474 |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
475 %bw! |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
476 endfunc |
7f355d8cd634
patch 8.0.0485: not all windows commands are tested
Christian Brabandt <cb@256bit.org>
parents:
11193
diff
changeset
|
477 |
11193
75ccc8a15a51
patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
478 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
|
479 " 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
|
480 n x |
75ccc8a15a51
patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
481 norm axxx |
75ccc8a15a51
patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
482 split |
75ccc8a15a51
patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
483 split |
75ccc8a15a51
patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
484 s/x |
75ccc8a15a51
patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
485 s/x |
75ccc8a15a51
patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
486 all |
75ccc8a15a51
patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
487 bwipe! |
75ccc8a15a51
patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
488 endfunc |
75ccc8a15a51
patch 8.0.0483: illegal memory access when using :all
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
489 |
12019
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
490 " 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
|
491 func GetScreenStr(row) |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
492 let str = "" |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
493 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
|
494 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
|
495 endfor |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
496 return str |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
497 endfunc |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
498 |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
499 func Test_window_contents() |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
500 enew! | only | new |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
501 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
|
502 |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
503 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
|
504 redraw |
13880
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
505 let s3 = GetScreenStr(1) |
12019
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
506 wincmd p |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
507 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
|
508 call assert_equal('1 ', s3) |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
509 |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
510 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
|
511 redraw |
13880
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
512 let s3 = GetScreenStr(1) |
12019
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
513 wincmd p |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
514 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
|
515 call assert_equal('50 ', s3) |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
516 |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
517 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
|
518 redraw |
13880
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
519 let s3 = GetScreenStr(1) |
12019
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
520 wincmd p |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
521 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
|
522 call assert_equal('59 ', s3) |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
523 |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
524 bwipeout! |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
525 call test_garbagecollect_now() |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
526 endfunc |
7d7835ab8b37
patch 8.0.0890: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11591
diff
changeset
|
527 |
13072
50aa6da392ce
patch 8.0.1411: reading invalid memory with CTRL-W :
Christian Brabandt <cb@256bit.org>
parents:
12977
diff
changeset
|
528 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
|
529 " 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
|
530 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
|
531 endfunc |
50aa6da392ce
patch 8.0.1411: reading invalid memory with CTRL-W :
Christian Brabandt <cb@256bit.org>
parents:
12977
diff
changeset
|
532 |
13144
20fb8c711050
patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents:
13072
diff
changeset
|
533 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
|
534 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
|
535 " This was accessing freed memory |
20fb8c711050
patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents:
13072
diff
changeset
|
536 au * 0 vs xxx |
20fb8c711050
patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents:
13072
diff
changeset
|
537 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
|
538 argadd |
17516
711db62c8aca
patch 8.1.1756: autocommand that splits window messes up window layout
Bram Moolenaar <Bram@vim.org>
parents:
17360
diff
changeset
|
539 call assert_fails("all", "E249:") |
13144
20fb8c711050
patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents:
13072
diff
changeset
|
540 au! |
20fb8c711050
patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents:
13072
diff
changeset
|
541 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
|
542 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
|
543 endfunc |
20fb8c711050
patch 8.0.1446: acessing freed memory after window command in auto command
Christian Brabandt <cb@256bit.org>
parents:
13072
diff
changeset
|
544 |
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
|
545 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
|
546 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
|
547 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
|
548 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
|
549 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
|
550 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
|
551 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
|
552 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
|
553 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
|
554 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
|
555 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
|
556 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
|
557 " 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
|
558 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
|
559 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
|
560 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
|
561 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
|
562 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
|
563 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
|
564 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
|
565 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
|
566 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
|
567 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
|
568 |
13880
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
569 func Test_winrestcmd() |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
570 2split |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
571 3vsplit |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
572 let a = winrestcmd() |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
573 call assert_equal(2, winheight(0)) |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
574 call assert_equal(3, winwidth(0)) |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
575 wincmd = |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
576 call assert_notequal(2, winheight(0)) |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
577 call assert_notequal(3, winwidth(0)) |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
578 exe a |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
579 call assert_equal(2, winheight(0)) |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
580 call assert_equal(3, winwidth(0)) |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
581 only |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
582 endfunc |
60e80884994d
patch 8.0.1811: no test for winrestcmd()
Christian Brabandt <cb@256bit.org>
parents:
13666
diff
changeset
|
583 |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
15241
diff
changeset
|
584 func Fun_RenewFile() |
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
|
585 sleep 2 |
83ff85896a14
patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents:
15014
diff
changeset
|
586 silent execute '!echo "1" > 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
|
587 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
|
588 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
|
589 edit! tmp.txt |
15406
63b02fcf1361
patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents:
15241
diff
changeset
|
590 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
|
591 |
83ff85896a14
patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents:
15014
diff
changeset
|
592 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
|
593 " Can we make this work on MS-Windows? |
83ff85896a14
patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents:
15014
diff
changeset
|
594 if !has('unix') |
83ff85896a14
patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents:
15014
diff
changeset
|
595 return |
83ff85896a14
patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents:
15014
diff
changeset
|
596 endif |
83ff85896a14
patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents:
15014
diff
changeset
|
597 |
83ff85896a14
patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents:
15014
diff
changeset
|
598 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
|
599 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
|
600 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
|
601 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
|
602 " Need to wait a bit for the timestamp to be older. |
83ff85896a14
patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Bram Moolenaar <Bram@vim.org>
parents:
15014
diff
changeset
|
603 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
|
604 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
|
605 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
|
606 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
|
607 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
|
608 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
|
609 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
|
610 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
|
611 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
|
612 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
|
613 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
|
614 " 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
|
615 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
|
616 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
|
617 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
|
618 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
|
619 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
|
620 |
15977
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
621 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
|
622 new |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
623 only |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
624 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
|
625 normal 50% |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
626 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
|
627 split |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
628 split |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
629 " 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
|
630 " become one line |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
631 3wincmd w |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
632 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
|
633 wincmd + |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
634 redraw! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
635 endfor |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
636 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
637 " 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
|
638 let wininfo = getwininfo() |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
639 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
|
640 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
|
641 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
642 only! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
643 bwipe! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
644 endfunc |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
645 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
646 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
|
647 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
|
648 set so=0 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
649 enew |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
650 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
|
651 normal 50% |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
652 split |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
653 1wincmd w |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
654 " 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
|
655 normal H |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
656 redraw! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
657 " 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
|
658 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
|
659 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
|
660 wincmd - |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
661 redraw! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
662 endwhile |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
663 " 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
|
664 normal j |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
665 " restore previous height |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
666 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
|
667 wincmd + |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
668 redraw! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
669 endwhile |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
670 " 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
|
671 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
|
672 wincmd - |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
673 redraw! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
674 endwhile |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
675 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
676 " 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
|
677 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
|
678 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
|
679 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
680 only! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
681 bwipe! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
682 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
|
683 endfunc |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
684 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
685 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
|
686 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
|
687 set so=0 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
688 enew |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
689 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
|
690 normal 50% |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
691 split |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
692 1wincmd w |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
693 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
|
694 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
|
695 " 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
|
696 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
|
697 redraw! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
698 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
|
699 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
700 " 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
|
701 2wincmd w |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
702 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
|
703 redraw! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
704 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
|
705 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
|
706 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
707 only! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
708 bwipe! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
709 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
|
710 endfunc |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
711 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
712 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
|
713 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
|
714 set so=0 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
715 enew |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
716 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
|
717 normal 50% |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
718 split |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
719 1wincmd w |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
720 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
|
721 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
|
722 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
723 " 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
|
724 2wincmd _ |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
725 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
726 " 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
|
727 normal H |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
728 normal j |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
729 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
730 " 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
|
731 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
|
732 wincmd + |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
733 redraw! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
734 endfor |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
735 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
|
736 wincmd - |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
737 redraw! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
738 endfor |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
739 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
740 " 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
|
741 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
|
742 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
|
743 |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
744 only! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
745 bwipe! |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
746 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
|
747 endfunc |
7fbdceabad64
patch 8.1.0994: relative cursor position is not calculated correctly
Bram Moolenaar <Bram@vim.org>
parents:
15406
diff
changeset
|
748 |
16650
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
749 func Test_split_noscroll() |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
750 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
|
751 enew |
4e3c4e8e465c
patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents:
16650
diff
changeset
|
752 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
|
753 normal 100% |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
754 split |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
755 |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
756 1wincmd w |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
757 let winid1 = win_getid() |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
758 let info1 = getwininfo(winid1)[0] |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
759 |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
760 2wincmd w |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
761 let winid2 = win_getid() |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
762 let info2 = getwininfo(winid2)[0] |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
763 |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
764 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
|
765 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
|
766 |
16690
4e3c4e8e465c
patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents:
16650
diff
changeset
|
767 " 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
|
768 " window should restore fraction. |
16650
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
769 only! |
16690
4e3c4e8e465c
patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents:
16650
diff
changeset
|
770 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
|
771 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
|
772 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
|
773 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
|
774 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
|
775 new |
4e3c4e8e465c
patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents:
16650
diff
changeset
|
776 redraw |
4e3c4e8e465c
patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents:
16650
diff
changeset
|
777 close |
4e3c4e8e465c
patch 8.1.1347: fractional scroll position not restored after closing window
Bram Moolenaar <Bram@vim.org>
parents:
16650
diff
changeset
|
778 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
|
779 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
|
780 |
16650
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
781 bwipe! |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
782 let &so = so_save |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
783 endfunc |
06fd0eaada01
patch 8.1.1327: unnecessary scroll after horizontal split
Bram Moolenaar <Bram@vim.org>
parents:
16271
diff
changeset
|
784 |
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
|
785 " 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
|
786 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
|
787 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
|
788 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
|
789 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
|
790 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
|
791 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
|
792 |
243cdc183ec9
patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents:
15977
diff
changeset
|
793 " 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
|
794 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
|
795 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
|
796 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
|
797 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
|
798 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
|
799 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
|
800 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
|
801 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
|
802 |
243cdc183ec9
patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents:
15977
diff
changeset
|
803 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
|
804 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
|
805 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
|
806 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
|
807 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
|
808 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
|
809 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
|
810 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
|
811 |
243cdc183ec9
patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents:
15977
diff
changeset
|
812 " 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
|
813 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
|
814 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
|
815 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
|
816 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
|
817 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
|
818 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
|
819 call assert_equal(4, winnr('0h')) |
243cdc183ec9
patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents:
15977
diff
changeset
|
820 |
243cdc183ec9
patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents:
15977
diff
changeset
|
821 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
|
822 call assert_equal(8, tabpagewinnr(1, '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
|
823 call assert_equal(2, tabpagewinnr(1, '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
|
824 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
|
825 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
|
826 |
243cdc183ec9
patch 8.1.1140: not easy to find out what neighbors a window has
Bram Moolenaar <Bram@vim.org>
parents:
15977
diff
changeset
|
827 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
|
828 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
|
829 |
9909
3ee84d270ea7
commit https://github.com/vim/vim/commit/9e4d8215d386100ab660d7d11e6620fd148b605e
Christian Brabandt <cb@256bit.org>
parents:
9349
diff
changeset
|
830 " vim: shiftwidth=2 sts=2 expandtab |