Mercurial > vim
annotate src/testdir/test_tabpage.vim @ 24610:c1263588156b v8.2.2844
patch 8.2.2844: Vim9: memory leak when using searchpair()
Commit: https://github.com/vim/vim/commit/24f720998f852dd1ba861ec67d56625a507b915e
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri May 7 20:43:54 2021 +0200
patch 8.2.2844: Vim9: memory leak when using searchpair()
Problem: Vim9: memory leak when using searchpair().
Solution: Free the v_instr field.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 07 May 2021 20:45:03 +0200 |
parents | 93f90f2ff4e9 |
children | cdaff4db7760 |
rev | line source |
---|---|
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Tests for tabpage |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
16477
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
3 source screendump.vim |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
4 source check.vim |
13982
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
5 |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 function Test_tabpage() |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
7 CheckFeature quickfix |
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
8 |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 bw! |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 " Simple test for opening and closing a tab page |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 tabnew |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 call assert_equal(2, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 quit |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 " Open three tab pages and use ":tabdo" |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 0tabnew |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 1tabnew |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 $tabnew |
10270
e5dddd764fef
commit https://github.com/vim/vim/commit/3e8474dd50f64c998bb665ce852f584a58dede6b
Christian Brabandt <cb@256bit.org>
parents:
10136
diff
changeset
|
19 %del |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 tabdo call append(line('$'), tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 tabclose! 2 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 tabrewind |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 let line1 = getline('$') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 undo |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 q |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 tablast |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 let line2 = getline('$') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 q! |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 call append(line('$'), line1) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 call append(line('$'), line2) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 unlet line1 line2 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 call assert_equal(['', '3', '1', '4'], getline(1, '$')) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 " |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 " Test for settabvar() and gettabvar() functions. Open a new tab page and |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 " set 3 variables to a number, string and a list. Verify that the variables |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 " are correctly set. |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 tabnew |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 tabfirst |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 call settabvar(2, 'val_num', 100) |
18000
7a19c8d6bb9e
patch 8.1.1996: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
40 eval 'SetTabVar test'->settabvar(2, 'val_str') |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 call settabvar(2, 'val_list', ['red', 'blue', 'green']) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
42 " |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
43 call assert_true(gettabvar(2, 'val_num') == 100 && gettabvar(2, 'val_str') == 'SetTabVar test' && gettabvar(2, 'val_list') == ['red', 'blue', 'green']) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
44 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
45 tabnext 2 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
46 call assert_true(t:val_num == 100 && t:val_str == 'SetTabVar test' && t:val_list == ['red', 'blue', 'green']) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
47 tabclose |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
48 |
13268
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
49 " Test for ":tab drop exist-file" to keep current window. |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
50 sp test1 |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
51 tab drop test1 |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
52 call assert_true(tabpagenr('$') == 1 && winnr('$') == 2 && winnr() == 1) |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
53 close |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
54 " |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
55 " |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
56 " Test for ":tab drop new-file" to keep current window of tabpage 1. |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
57 split |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
58 tab drop newfile |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
59 call assert_true(tabpagenr('$') == 2 && tabpagewinnr(1, '$') == 2 && tabpagewinnr(1) == 1) |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
60 tabclose |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
61 q |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
62 " |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
63 " |
17918
9606c0adc148
patch 8.1.1955: tests contain typos
Bram Moolenaar <Bram@vim.org>
parents:
16965
diff
changeset
|
64 " Test for ":tab drop multi-opened-file" to keep current tabpage and window. |
13268
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
65 new test1 |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
66 tabnew |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
67 new test1 |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
68 tab drop test1 |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
69 call assert_true(tabpagenr() == 2 && tabpagewinnr(2, '$') == 2 && tabpagewinnr(2) == 1) |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
70 tabclose |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
71 q |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
72 " |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
73 " |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
74 " Test for ":tab drop vertical-split-window" to jump test1 buffer |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
75 tabedit test1 |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
76 vnew |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
77 tabfirst |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
78 tab drop test1 |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
79 call assert_equal([2, 2, 2, 2], [tabpagenr('$'), tabpagenr(), tabpagewinnr(2, '$'), tabpagewinnr(2)]) |
50e1077e0c3d
patch 8.0.1508: the :drop command is not always available
Christian Brabandt <cb@256bit.org>
parents:
12688
diff
changeset
|
80 1tabonly |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
81 " |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
82 " |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
83 for i in range(9) | tabnew | endfor |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
84 normal! 1gt |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
85 call assert_equal(1, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
86 tabmove 5 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
87 call assert_equal(5, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
88 .tabmove |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
89 call assert_equal(5, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
90 tabmove - |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
91 call assert_equal(4, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
92 tabmove + |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
93 call assert_equal(5, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
94 tabmove -2 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
95 call assert_equal(3, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
96 tabmove +4 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
97 call assert_equal(7, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
98 tabmove |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
99 call assert_equal(10, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
100 0tabmove |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
101 call assert_equal(1, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
102 $tabmove |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
103 call assert_equal(10, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
104 tabmove 0 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
105 call assert_equal(1, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
106 tabmove $ |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
107 call assert_equal(10, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
108 3tabmove |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
109 call assert_equal(4, tabpagenr()) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
110 7tabmove 5 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
111 call assert_equal(5, tabpagenr()) |
15573
060cb54565c1
patch 8.1.0794: white space before " -Ntabmove" causes problems
Bram Moolenaar <Bram@vim.org>
parents:
14455
diff
changeset
|
112 -tabmove |
060cb54565c1
patch 8.1.0794: white space before " -Ntabmove" causes problems
Bram Moolenaar <Bram@vim.org>
parents:
14455
diff
changeset
|
113 call assert_equal(4, tabpagenr()) |
060cb54565c1
patch 8.1.0794: white space before " -Ntabmove" causes problems
Bram Moolenaar <Bram@vim.org>
parents:
14455
diff
changeset
|
114 +tabmove |
060cb54565c1
patch 8.1.0794: white space before " -Ntabmove" causes problems
Bram Moolenaar <Bram@vim.org>
parents:
14455
diff
changeset
|
115 call assert_equal(5, tabpagenr()) |
060cb54565c1
patch 8.1.0794: white space before " -Ntabmove" causes problems
Bram Moolenaar <Bram@vim.org>
parents:
14455
diff
changeset
|
116 -2tabmove |
060cb54565c1
patch 8.1.0794: white space before " -Ntabmove" causes problems
Bram Moolenaar <Bram@vim.org>
parents:
14455
diff
changeset
|
117 call assert_equal(3, tabpagenr()) |
060cb54565c1
patch 8.1.0794: white space before " -Ntabmove" causes problems
Bram Moolenaar <Bram@vim.org>
parents:
14455
diff
changeset
|
118 +3tabmove |
060cb54565c1
patch 8.1.0794: white space before " -Ntabmove" causes problems
Bram Moolenaar <Bram@vim.org>
parents:
14455
diff
changeset
|
119 call assert_equal(6, tabpagenr()) |
14455
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
120 |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
121 " The following are a no-op |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
122 norm! 2gt |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
123 call assert_equal(2, tabpagenr()) |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
124 tabmove 2 |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
125 call assert_equal(2, tabpagenr()) |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
126 2tabmove |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
127 call assert_equal(2, tabpagenr()) |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
128 tabmove 1 |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
129 call assert_equal(2, tabpagenr()) |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
130 1tabmove |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
131 call assert_equal(2, tabpagenr()) |
f713e016097d
patch 8.1.0241: effect of ":tabmove N" is not clear
Christian Brabandt <cb@256bit.org>
parents:
13982
diff
changeset
|
132 |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
133 call assert_fails('let t = tabpagenr("@")', 'E15:') |
20158
94f05de75e9f
patch 8.2.0634: crash with null partial and blob
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
134 call assert_equal(0, tabpagewinnr(-1)) |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
135 call assert_fails("99tabmove", 'E16:') |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
136 call assert_fails("+99tabmove", 'E16:') |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
137 call assert_fails("-99tabmove", 'E16:') |
21459
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
138 call assert_fails("tabmove foo", 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
139 call assert_fails("tabmove 99", 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
140 call assert_fails("tabmove +99", 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
141 call assert_fails("tabmove -99", 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
142 call assert_fails("tabmove -3+", 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
143 call assert_fails("tabmove $3", 'E475:') |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
144 call assert_fails("%tabonly", 'E16:') |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
145 1tabonly! |
21020
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
146 tabmove 1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
147 call assert_equal(1, tabpagenr()) |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
148 tabnew |
21459
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
149 call assert_fails("-2tabmove", 'E16:') |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
150 tabonly! |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
151 endfunc |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
152 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
153 " Test autocommands |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
154 function Test_tabpage_with_autocmd() |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
155 command -nargs=1 -bar C :call add(s:li, '=== ' . <q-args> . ' ===')|<args> |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
156 augroup TestTabpageGroup |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
157 au! |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
158 autocmd TabEnter * call add(s:li, 'TabEnter') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
159 autocmd WinEnter * call add(s:li, 'WinEnter') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
160 autocmd BufEnter * call add(s:li, 'BufEnter') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
161 autocmd TabLeave * call add(s:li, 'TabLeave') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
162 autocmd WinLeave * call add(s:li, 'WinLeave') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
163 autocmd BufLeave * call add(s:li, 'BufLeave') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
164 augroup END |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
165 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
166 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
167 let t:a='a' |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
168 C tab split |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
169 call assert_equal(['=== tab split ===', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
170 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
171 let t:a='b' |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
172 C tabnew |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
173 call assert_equal(['=== tabnew ===', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', 'BufLeave', 'BufEnter'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
174 let t:a='c' |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
175 let s:li = split(join(map(range(1, tabpagenr('$')), 'gettabvar(v:val, "a")')) , '\s\+') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
176 call assert_equal(['a', 'b', 'c'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
177 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
178 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
179 C call map(range(1, tabpagenr('$')), 'settabvar(v:val, ''a'', v:val*2)') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
180 call assert_equal(["=== call map(range(1, tabpagenr('$')), 'settabvar(v:val, ''a'', v:val*2)') ==="], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
181 let s:li = split(join(map(range(1, tabpagenr('$')), 'gettabvar(v:val, "a")')) , '\s\+') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
182 call assert_equal(['2', '4', '6'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
183 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
184 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
185 let w:a='a' |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
186 C vsplit |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
187 call assert_equal(['=== vsplit ===', 'WinLeave', 'WinEnter'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
188 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
189 let w:a='a' |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
190 let tabn=tabpagenr() |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
191 let winr=range(1, winnr('$')) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
192 C tabnext 1 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
193 call assert_equal(['=== tabnext 1 ===', 'BufLeave', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', 'BufEnter'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
194 let s:li = split(join(map(copy(winr), 'gettabwinvar('.tabn.', v:val, "a")')), '\s\+') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
195 call assert_equal(['a', 'a'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
196 let s:li = [] |
18000
7a19c8d6bb9e
patch 8.1.1996: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
197 C call map(copy(winr), '(v:val*2)->settabwinvar(' .. tabn .. ', v:val, ''a'')') |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
198 let s:li = split(join(map(copy(winr), 'gettabwinvar('.tabn.', v:val, "a")')), '\s\+') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
199 call assert_equal(['2', '4'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
200 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
201 augroup TabDestructive |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
202 autocmd TabEnter * :C tabnext 2 | C tabclose 3 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
203 augroup END |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
204 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
205 C tabnext 3 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
206 call assert_equal(['=== tabnext 3 ===', 'BufLeave', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', '=== tabnext 2 ===', '=== tabclose 3 ==='], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
207 call assert_equal(['2/2'], [tabpagenr().'/'.tabpagenr('$')]) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
208 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
209 autocmd! TabDestructive TabEnter |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
210 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
211 C tabnew |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
212 call assert_equal(['=== tabnew ===', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', 'BufLeave', 'BufEnter'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
213 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
214 C tabnext 1 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
215 call assert_equal(['=== tabnext 1 ===', 'BufLeave', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', 'BufEnter'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
216 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
217 autocmd TabDestructive TabEnter * nested :C tabnext 2 | C tabclose 3 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
218 let s:li = [] |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
219 call assert_equal(3, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
220 C tabnext 2 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
221 call assert_equal(2, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
222 call assert_equal(['=== tabnext 2 ===', 'WinLeave', 'TabLeave', 'WinEnter', 'TabEnter', '=== tabnext 2 ===', '=== tabclose 3 ==='], s:li) |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
223 call assert_equal(['2/2'], [tabpagenr().'/'.tabpagenr('$')]) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
224 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
225 delcommand C |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
226 autocmd! TabDestructive |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
227 augroup! TabDestructive |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
228 autocmd! TestTabpageGroup |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
229 augroup! TestTabpageGroup |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
230 1tabonly! |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
231 endfunction |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
232 |
19112
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
233 " Test autocommands on tab drop |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
234 function Test_tabpage_with_autocmd_tab_drop() |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
235 augroup TestTabpageGroup |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
236 au! |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
237 autocmd TabEnter * call add(s:li, 'TabEnter') |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
238 autocmd WinEnter * call add(s:li, 'WinEnter') |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
239 autocmd BufEnter * call add(s:li, 'BufEnter') |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
240 autocmd TabLeave * call add(s:li, 'TabLeave') |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
241 autocmd WinLeave * call add(s:li, 'WinLeave') |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
242 autocmd BufLeave * call add(s:li, 'BufLeave') |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
243 augroup END |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
244 |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
245 let s:li = [] |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
246 tab drop test1 |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
247 call assert_equal(['BufLeave', 'BufEnter'], s:li) |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
248 |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
249 let s:li = [] |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
250 tab drop test2 test3 |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
251 call assert_equal([ |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
252 \ 'TabLeave', 'TabEnter', 'TabLeave', 'TabEnter', |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
253 \ 'TabLeave', 'WinEnter', 'TabEnter', 'BufEnter', |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
254 \ 'TabLeave', 'WinEnter', 'TabEnter', 'BufEnter'], s:li) |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
255 |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
256 autocmd! TestTabpageGroup |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
257 augroup! TestTabpageGroup |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
258 1tabonly! |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
259 endfunction |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
260 |
9927
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
261 function Test_tabpage_with_tab_modifier() |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
262 CheckFeature quickfix |
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
263 |
9927
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
264 for n in range(4) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
265 tabedit |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
266 endfor |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
267 |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
268 function s:check_tab(pre_nr, cmd, post_nr) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
269 exec 'tabnext ' . a:pre_nr |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
270 exec a:cmd |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
271 call assert_equal(a:post_nr, tabpagenr()) |
10136
13304dccb96e
commit https://github.com/vim/vim/commit/100f5c90f4d4fb40bc3aeabc35192db371f5988f
Christian Brabandt <cb@256bit.org>
parents:
10082
diff
changeset
|
272 call assert_equal('help', &buftype) |
9927
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
273 helpclose |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
274 endfunc |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
275 |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
276 call s:check_tab(1, 'tab help', 2) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
277 call s:check_tab(1, '3tab help', 4) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
278 call s:check_tab(1, '.tab help', 2) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
279 call s:check_tab(1, '.+1tab help', 3) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
280 call s:check_tab(1, '0tab help', 1) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
281 call s:check_tab(2, '+tab help', 4) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
282 call s:check_tab(2, '+2tab help', 5) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
283 call s:check_tab(4, '-tab help', 4) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
284 call s:check_tab(4, '-2tab help', 3) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
285 call s:check_tab(3, '$tab help', 6) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
286 call assert_fails('99tab help', 'E16:') |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
287 call assert_fails('+99tab help', 'E16:') |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
288 call assert_fails('-99tab help', 'E16:') |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
289 |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
290 delfunction s:check_tab |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
291 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
292 endfunction |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
293 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
294 function Check_tab_count(pre_nr, cmd, post_nr) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
295 exec 'tabnext' a:pre_nr |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
296 normal! G |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
297 exec a:cmd |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
298 call assert_equal(a:post_nr, tabpagenr(), a:cmd) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
299 endfunc |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
300 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
301 " Test for [count] of tabnext |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
302 function Test_tabpage_with_tabnext() |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
303 for n in range(4) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
304 tabedit |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
305 call setline(1, ['', '', '3']) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
306 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
307 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
308 call Check_tab_count(1, 'tabnext', 2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
309 call Check_tab_count(1, '3tabnext', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
310 call Check_tab_count(1, '.tabnext', 1) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
311 call Check_tab_count(1, '.+1tabnext', 2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
312 call Check_tab_count(2, '+tabnext', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
313 call Check_tab_count(2, '+2tabnext', 4) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
314 call Check_tab_count(4, '-tabnext', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
315 call Check_tab_count(4, '-2tabnext', 2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
316 call Check_tab_count(3, '$tabnext', 5) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
317 call assert_fails('0tabnext', 'E16:') |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
318 call assert_fails('99tabnext', 'E16:') |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
319 call assert_fails('+99tabnext', 'E16:') |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
320 call assert_fails('-99tabnext', 'E16:') |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
321 call Check_tab_count(1, 'tabnext 3', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
322 call Check_tab_count(2, 'tabnext +', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
323 call Check_tab_count(2, 'tabnext +2', 4) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
324 call Check_tab_count(4, 'tabnext -', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
325 call Check_tab_count(4, 'tabnext -2', 2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
326 call Check_tab_count(3, 'tabnext $', 5) |
21459
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
327 call assert_fails('tabnext 0', 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
328 call assert_fails('tabnext .', 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
329 call assert_fails('tabnext -+', 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
330 call assert_fails('tabnext +2-', 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
331 call assert_fails('tabnext $3', 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
332 call assert_fails('tabnext 99', 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
333 call assert_fails('tabnext +99', 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
334 call assert_fails('tabnext -99', 'E475:') |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
335 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
336 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
337 endfunction |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
338 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
339 " Test for [count] of tabprevious |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
340 function Test_tabpage_with_tabprevious() |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
341 for n in range(5) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
342 tabedit |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
343 call setline(1, ['', '', '3']) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
344 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
345 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
346 for cmd in ['tabNext', 'tabprevious'] |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
347 call Check_tab_count(6, cmd, 5) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
348 call Check_tab_count(6, '3' . cmd, 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
349 call Check_tab_count(6, '8' . cmd, 4) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
350 call Check_tab_count(6, cmd . ' 3', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
351 call Check_tab_count(6, cmd . ' 8', 4) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
352 for n in range(2) |
21552
cbc570e66d11
patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents:
21459
diff
changeset
|
353 for c in ['0', '.+3', '+', '+2', '-', '-2', '$', '+99', '-99'] |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
354 if n == 0 " pre count |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
355 let entire_cmd = c . cmd |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
356 let err_code = 'E16:' |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
357 else |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
358 let entire_cmd = cmd . ' ' . c |
21459
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
359 let err_code = 'E475:' |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
360 endif |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
361 call assert_fails(entire_cmd, err_code) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
362 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
363 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
364 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
365 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
366 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
367 endfunction |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
368 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
369 function s:reconstruct_tabpage_for_test(nr) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
370 let n = (a:nr > 2) ? a:nr - 2 : 1 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
371 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
372 0tabedit n0 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
373 for n in range(1, n) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
374 exec '$tabedit n' . n |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
375 if n == 1 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
376 call setline(1, ['', '', '3']) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
377 endif |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
378 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
379 endfunc |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
380 |
13982
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
381 func Test_tabpage_ctrl_pgup_pgdown() |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
382 enew! |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
383 tabnew tab1 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
384 tabnew tab2 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
385 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
386 call assert_equal(3, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
387 exe "norm! \<C-PageUp>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
388 call assert_equal(2, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
389 exe "norm! \<C-PageDown>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
390 call assert_equal(3, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
391 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
392 " Check wrapping at last or first page. |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
393 exe "norm! \<C-PageDown>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
394 call assert_equal(1, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
395 exe "norm! \<C-PageUp>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
396 call assert_equal(3, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
397 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
398 " With a count, <C-PageUp> and <C-PageDown> are not symmetrical somehow: |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
399 " - {count}<C-PageUp> goes {count} pages downward (relative count) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
400 " - {count}<C-PageDown> goes to page number {count} (absolute count) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
401 exe "norm! 2\<C-PageUp>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
402 call assert_equal(1, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
403 exe "norm! 2\<C-PageDown>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
404 call assert_equal(2, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
405 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
406 1tabonly! |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
407 endfunc |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
408 |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
409 " Test for [count] of tabclose |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
410 function Test_tabpage_with_tabclose() |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
411 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
412 " pre count |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
413 call s:reconstruct_tabpage_for_test(6) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
414 call Check_tab_count(3, 'tabclose!', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
415 call Check_tab_count(1, '3tabclose', 1) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
416 call Check_tab_count(4, '4tabclose', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
417 call Check_tab_count(3, '1tabclose', 2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
418 call Check_tab_count(2, 'tabclose', 1) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
419 call assert_equal(1, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
420 call assert_equal('', bufname('')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
421 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
422 call s:reconstruct_tabpage_for_test(6) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
423 call Check_tab_count(2, '$tabclose', 2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
424 call Check_tab_count(4, '.tabclose', 4) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
425 call Check_tab_count(3, '.+tabclose', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
426 call Check_tab_count(3, '.-2tabclose', 2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
427 call Check_tab_count(1, '.+1tabclose!', 1) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
428 call assert_equal(1, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
429 call assert_equal('', bufname('')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
430 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
431 " post count |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
432 call s:reconstruct_tabpage_for_test(6) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
433 call Check_tab_count(3, 'tabclose!', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
434 call Check_tab_count(1, 'tabclose 3', 1) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
435 call Check_tab_count(4, 'tabclose 4', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
436 call Check_tab_count(3, 'tabclose 1', 2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
437 call Check_tab_count(2, 'tabclose', 1) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
438 call assert_equal(1, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
439 call assert_equal('', bufname('')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
440 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
441 call s:reconstruct_tabpage_for_test(6) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
442 call Check_tab_count(2, 'tabclose $', 2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
443 call Check_tab_count(4, 'tabclose', 4) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
444 call Check_tab_count(3, 'tabclose +', 3) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
445 call Check_tab_count(3, 'tabclose -2', 2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
446 call Check_tab_count(1, 'tabclose! +1', 1) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
447 call assert_equal(1, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
448 call assert_equal('', bufname('')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
449 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
450 call s:reconstruct_tabpage_for_test(6) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
451 for n in range(2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
452 for c in ['0', '$3', '99', '+99', '-99'] |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
453 if n == 0 " pre count |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
454 let entire_cmd = c . 'tabclose' |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
455 let err_code = 'E16:' |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
456 else |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
457 let entire_cmd = 'tabclose ' . c |
21459
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
458 let err_code = 'E475:' |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
459 endif |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
460 call assert_fails(entire_cmd, err_code) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
461 call assert_equal(6, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
462 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
463 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
464 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
465 call assert_fails('3tabclose', 'E37:') |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
466 call assert_fails('tabclose 3', 'E37:') |
21459
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
467 call assert_fails('tabclose -+', 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
468 call assert_fails('tabclose +2-', 'E475:') |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
469 call assert_equal(6, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
470 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
471 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
472 endfunction |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
473 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
474 " Test for [count] of tabonly |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
475 function Test_tabpage_with_tabonly() |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
476 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
477 " Test for the normal behavior (pre count only) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
478 let tc = [ [4, '.', '!'], [2, '.+', ''], [3, '.-2', '!'], [1, '.+1', '!'] ] |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
479 for c in tc |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
480 call s:reconstruct_tabpage_for_test(6) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
481 let entire_cmd = c[1] . 'tabonly' . c[2] |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
482 call Check_tab_count(c[0], entire_cmd, 1) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
483 call assert_equal(1, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
484 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
485 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
486 " Test for the normal behavior |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
487 let tc2 = [ [3, '', ''], [1, '3', ''], [4, '4', '!'], [3, '1', '!'], |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
488 \ [2, '', '!'], |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
489 \ [2, '$', '!'], [3, '+', '!'], [3, '-2', '!'], [3, '+1', '!'] |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
490 \ ] |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
491 for n in range(2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
492 for c in tc2 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
493 call s:reconstruct_tabpage_for_test(6) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
494 if n == 0 " pre count |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
495 let entire_cmd = c[1] . 'tabonly' . c[2] |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
496 else |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
497 let entire_cmd = 'tabonly' . c[2] . ' ' . c[1] |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
498 endif |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
499 call Check_tab_count(c[0], entire_cmd, 1) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
500 call assert_equal(1, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
501 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
502 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
503 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
504 " Test for the error behavior |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
505 for n in range(2) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
506 for c in ['0', '$3', '99', '+99', '-99'] |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
507 call s:reconstruct_tabpage_for_test(6) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
508 if n == 0 " pre count |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
509 let entire_cmd = c . 'tabonly' |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
510 let err_code = 'E16:' |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
511 else |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
512 let entire_cmd = 'tabonly ' . c |
21459
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
513 let err_code = 'E475:' |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
514 endif |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
515 call assert_fails(entire_cmd, err_code) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
516 call assert_equal(6, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
517 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
518 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
519 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
520 " Test for the error behavior (post count only) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
521 for c in tc |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
522 call s:reconstruct_tabpage_for_test(6) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
523 let entire_cmd = 'tabonly' . c[2] . ' ' . c[1] |
21459
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
524 let err_code = 'E475:' |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
525 call assert_fails(entire_cmd, err_code) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
526 call assert_equal(6, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
527 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
528 |
21459
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
529 call assert_fails('tabonly -+', 'E475:') |
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
530 call assert_fails('tabonly +2-', 'E475:') |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
531 call assert_equal(6, tabpagenr('$')) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
532 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
533 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
534 new |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
535 only! |
9927
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
536 endfunction |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
537 |
10082
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
538 func Test_tabnext_on_buf_unload1() |
10076
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
539 " This once caused a crash |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
540 new |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
541 tabedit |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
542 tabfirst |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
543 au BufUnload <buffer> tabnext |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
544 q |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
545 |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
546 while tabpagenr('$') > 1 |
10082
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
547 bwipe! |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
548 endwhile |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
549 endfunc |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
550 |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
551 func Test_tabnext_on_buf_unload2() |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
552 " This once caused a crash |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
553 tabedit |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
554 autocmd BufUnload <buffer> tabnext |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
555 file x |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
556 edit y |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
557 |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
558 while tabpagenr('$') > 1 |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
559 bwipe! |
10076
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
560 endwhile |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
561 endfunc |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
562 |
11635
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
563 func Test_close_on_quitpre() |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
564 " This once caused a crash |
12688
a6a935b3270e
patch 8.0.1222: test functions interfere with each other
Christian Brabandt <cb@256bit.org>
parents:
11635
diff
changeset
|
565 edit Xtest |
11635
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
566 new |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
567 only |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
568 set bufhidden=delete |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
569 au QuitPre <buffer> close |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
570 tabnew tab1 |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
571 tabnew tab2 |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
572 1tabn |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
573 q! |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
574 call assert_equal(1, tabpagenr()) |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
575 call assert_equal(2, tabpagenr('$')) |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
576 " clean up |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
577 while tabpagenr('$') > 1 |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
578 bwipe! |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
579 endwhile |
12688
a6a935b3270e
patch 8.0.1222: test functions interfere with each other
Christian Brabandt <cb@256bit.org>
parents:
11635
diff
changeset
|
580 buf Xtest |
11635
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
581 endfunc |
10076
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
582 |
13982
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
583 func Test_tabs() |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
584 enew! |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
585 tabnew tab1 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
586 norm ixxx |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
587 let a=split(execute(':tabs'), "\n") |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
588 call assert_equal(['Tab page 1', |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
589 \ ' [No Name]', |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
590 \ 'Tab page 2', |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
591 \ '> + tab1'], a) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
592 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
593 1tabonly! |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
594 bw! |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
595 endfunc |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
596 |
16477
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
597 func Test_tabpage_cmdheight() |
20625
116c7bd5e980
patch 8.2.0866: not enough tests for buffer writing
Bram Moolenaar <Bram@vim.org>
parents:
20158
diff
changeset
|
598 CheckRunVimInTerminal |
16477
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
599 call writefile([ |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
600 \ 'set laststatus=2', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
601 \ 'set cmdheight=2', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
602 \ 'tabnew', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
603 \ 'set cmdheight=3', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
604 \ 'tabnext', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
605 \ 'redraw!', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
606 \ 'echo "hello\nthere"', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
607 \ 'tabnext', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
608 \ 'redraw', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
609 \ ], 'XTest_tabpage_cmdheight') |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
610 " Check that cursor line is concealed |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
611 let buf = RunVimInTerminal('-S XTest_tabpage_cmdheight', {'statusoff': 3}) |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
612 call VerifyScreenDump(buf, 'Test_tabpage_cmdheight', {}) |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
613 |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
614 call StopVimInTerminal(buf) |
16566
72afc10bf322
patch 8.1.1286: running tests leaves XTest_tabpage_cmdheight file behind
Bram Moolenaar <Bram@vim.org>
parents:
16477
diff
changeset
|
615 call delete('XTest_tabpage_cmdheight') |
16477
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
616 endfunc |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
617 |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
618 " Test for closing the tab page from a command window |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
619 func Test_tabpage_close_cmdwin() |
23748
93f90f2ff4e9
patch 8.2.2415: no way to check for the cmdwin feature
Bram Moolenaar <Bram@vim.org>
parents:
22502
diff
changeset
|
620 CheckFeature cmdwin |
93f90f2ff4e9
patch 8.2.2415: no way to check for the cmdwin feature
Bram Moolenaar <Bram@vim.org>
parents:
22502
diff
changeset
|
621 |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
622 tabnew |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
623 call feedkeys("q/:tabclose\<CR>\<Esc>", 'xt') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
624 call assert_equal(2, tabpagenr('$')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
625 call feedkeys("q/:tabonly\<CR>\<Esc>", 'xt') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
626 call assert_equal(2, tabpagenr('$')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
627 tabonly |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
628 endfunc |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
629 |
20941
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
630 " Pressing <C-PageUp> in insert mode should go to the previous tab page |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
631 " and <C-PageDown> should go to the next tab page |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
632 func Test_tabpage_Ctrl_Pageup() |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
633 tabnew |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
634 call feedkeys("i\<C-PageUp>", 'xt') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
635 call assert_equal(1, tabpagenr()) |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
636 call feedkeys("i\<C-PageDown>", 'xt') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
637 call assert_equal(2, tabpagenr()) |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
638 %bw! |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
639 endfunc |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
640 |
20947
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
641 " Return the terminal key code for selecting a tab page from the tabline. This |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
642 " sequence contains the following codes: a CSI (0x9b), KS_TABLINE (0xf0), |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
643 " KS_FILLER (0x58) and then the tab page number. |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
644 func TabLineSelectPageCode(tabnr) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
645 return "\x9b\xf0\x58" .. nr2char(a:tabnr) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
646 endfunc |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
647 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
648 " Return the terminal key code for opening a new tabpage from the tabpage |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
649 " menu. This sequence consists of the following codes: a CSI (0x9b), |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
650 " KS_TABMENU (0xef), KS_FILLER (0x58), the tab page number and |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
651 " TABLINE_MENU_NEW (2). |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
652 func TabMenuNewItemCode(tabnr) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
653 return "\x9b\xef\x58" .. nr2char(a:tabnr) .. nr2char(2) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
654 endfunc |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
655 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
656 " Return the terminal key code for closing a tabpage from the tabpage menu. |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
657 " This sequence consists of the following codes: a CSI (0x9b), KS_TABMENU |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
658 " (0xef), KS_FILLER (0x58), the tab page number and TABLINE_MENU_CLOSE (1). |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
659 func TabMenuCloseItemCode(tabnr) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
660 return "\x9b\xef\x58" .. nr2char(a:tabnr) .. nr2char(1) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
661 endfunc |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
662 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
663 " Test for using the tabpage menu from the insert and normal modes |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
664 func Test_tabline_tabmenu() |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
665 " only works in GUI |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
666 CheckGui |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
667 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
668 %bw! |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
669 tabnew |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
670 tabnew |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
671 call assert_equal(3, tabpagenr()) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
672 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
673 " go to tab page 2 in normal mode |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
674 call feedkeys(TabLineSelectPageCode(2), "Lx!") |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
675 call assert_equal(2, tabpagenr()) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
676 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
677 " close tab page 3 in normal mode |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
678 call feedkeys(TabMenuCloseItemCode(3), "Lx!") |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
679 call assert_equal(2, tabpagenr('$')) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
680 call assert_equal(2, tabpagenr()) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
681 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
682 " open new tab page before tab page 1 in normal mode |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
683 call feedkeys(TabMenuNewItemCode(1), "Lx!") |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
684 call assert_equal(1, tabpagenr()) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
685 call assert_equal(3, tabpagenr('$')) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
686 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
687 " go to tab page 2 in operator-pending mode (should beep) |
22502
1503ecd54f8a
patch 8.2.1799: some Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
21727
diff
changeset
|
688 call assert_beeps('call feedkeys("c" .. TabLineSelectPageCode(2), "Lx!")') |
1503ecd54f8a
patch 8.2.1799: some Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
21727
diff
changeset
|
689 call assert_equal(2, tabpagenr()) |
1503ecd54f8a
patch 8.2.1799: some Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
21727
diff
changeset
|
690 call assert_equal(3, tabpagenr('$')) |
20947
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
691 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
692 " open new tab page before tab page 1 in operator-pending mode (should beep) |
22502
1503ecd54f8a
patch 8.2.1799: some Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
21727
diff
changeset
|
693 call assert_beeps('call feedkeys("c" .. TabMenuNewItemCode(1), "Lx!")') |
1503ecd54f8a
patch 8.2.1799: some Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
21727
diff
changeset
|
694 call assert_equal(1, tabpagenr()) |
1503ecd54f8a
patch 8.2.1799: some Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
21727
diff
changeset
|
695 call assert_equal(4, tabpagenr('$')) |
20947
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
696 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
697 " open new tab page after tab page 3 in normal mode |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
698 call feedkeys(TabMenuNewItemCode(4), "Lx!") |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
699 call assert_equal(4, tabpagenr()) |
22502
1503ecd54f8a
patch 8.2.1799: some Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
21727
diff
changeset
|
700 call assert_equal(5, tabpagenr('$')) |
20947
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
701 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
702 " go to tab page 2 in insert mode |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
703 call feedkeys("i" .. TabLineSelectPageCode(2) .. "\<C-C>", "Lx!") |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
704 call assert_equal(2, tabpagenr()) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
705 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
706 " close tab page 2 in insert mode |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
707 call feedkeys("i" .. TabMenuCloseItemCode(2) .. "\<C-C>", "Lx!") |
22502
1503ecd54f8a
patch 8.2.1799: some Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
21727
diff
changeset
|
708 call assert_equal(4, tabpagenr('$')) |
20947
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
709 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
710 " open new tab page before tab page 3 in insert mode |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
711 call feedkeys("i" .. TabMenuNewItemCode(3) .. "\<C-C>", "Lx!") |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
712 call assert_equal(3, tabpagenr()) |
22502
1503ecd54f8a
patch 8.2.1799: some Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
21727
diff
changeset
|
713 call assert_equal(5, tabpagenr('$')) |
20947
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
714 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
715 " open new tab page after tab page 4 in insert mode |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
716 call feedkeys("i" .. TabMenuNewItemCode(5) .. "\<C-C>", "Lx!") |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
717 call assert_equal(5, tabpagenr()) |
22502
1503ecd54f8a
patch 8.2.1799: some Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
21727
diff
changeset
|
718 call assert_equal(6, tabpagenr('$')) |
20947
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
719 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
720 %bw! |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
721 endfunc |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
722 |
21020
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
723 " Test for changing the current tab page from an autocmd when closing a tab |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
724 " page. |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
725 func Test_tabpage_switchtab_on_close() |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
726 only |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
727 tabnew |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
728 tabnew |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
729 " Test for BufLeave |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
730 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
731 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
732 au BufLeave * tabfirst |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
733 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
734 tabclose |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
735 call assert_equal(1, tabpagenr()) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
736 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
737 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
738 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
739 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
740 " Test for WinLeave |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
741 $tabnew |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
742 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
743 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
744 au WinLeave * tabfirst |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
745 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
746 tabclose |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
747 call assert_equal(1, tabpagenr()) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
748 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
749 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
750 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
751 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
752 " Test for TabLeave |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
753 $tabnew |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
754 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
755 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
756 au TabLeave * tabfirst |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
757 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
758 tabclose |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
759 call assert_equal(1, tabpagenr()) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
760 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
761 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
762 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
763 augroup! T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
764 tabonly |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
765 endfunc |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
766 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
767 " Test for closing the destination tabpage when jumping from one to another. |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
768 func Test_tabpage_close_on_switch() |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
769 tabnew |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
770 tabnew |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
771 edit Xfile |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
772 augroup T2 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
773 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
774 au BufLeave Xfile 1tabclose |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
775 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
776 tabfirst |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
777 call assert_equal(2, tabpagenr()) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
778 call assert_equal('Xfile', @%) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
779 augroup T2 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
780 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
781 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
782 augroup! T2 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
783 %bw! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
784 endfunc |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
785 |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
786 " Test for jumping to last accessed tabpage |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
787 func Test_lastused_tabpage() |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
788 tabonly! |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
789 call assert_equal(0, tabpagenr('#')) |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
790 call assert_beeps('call feedkeys("g\<Tab>", "xt")') |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
791 call assert_beeps('call feedkeys("\<C-Tab>", "xt")') |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
792 call assert_beeps('call feedkeys("\<C-W>g\<Tab>", "xt")') |
21727
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
793 call assert_fails('tabnext #', 'E475:') |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
794 |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
795 " open four tab pages |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
796 tabnew |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
797 tabnew |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
798 tabnew |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
799 |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
800 2tabnext |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
801 |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
802 " Test for g<Tab> |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
803 call assert_equal(4, tabpagenr('#')) |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
804 call feedkeys("g\<Tab>", "xt") |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
805 call assert_equal(4, tabpagenr()) |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
806 call assert_equal(2, tabpagenr('#')) |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
807 |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
808 " Test for <C-Tab> |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
809 call feedkeys("\<C-Tab>", "xt") |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
810 call assert_equal(2, tabpagenr()) |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
811 call assert_equal(4, tabpagenr('#')) |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
812 |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
813 " Test for <C-W>g<Tab> |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
814 call feedkeys("\<C-W>g\<Tab>", "xt") |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
815 call assert_equal(4, tabpagenr()) |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
816 call assert_equal(2, tabpagenr('#')) |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
817 |
21727
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
818 " Test for :tabnext # |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
819 tabnext # |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
820 call assert_equal(2, tabpagenr()) |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
821 call assert_equal(4, tabpagenr('#')) |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
822 |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
823 " Try to jump to a closed tab page |
21727
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
824 tabclose # |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
825 call assert_equal(0, tabpagenr('#')) |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
826 call feedkeys("g\<Tab>", "xt") |
21727
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
827 call assert_equal(2, tabpagenr()) |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
828 call feedkeys("\<C-Tab>", "xt") |
21727
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
829 call assert_equal(2, tabpagenr()) |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
830 call feedkeys("\<C-W>g\<Tab>", "xt") |
21727
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
831 call assert_equal(2, tabpagenr()) |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
832 call assert_fails('tabnext #', 'E475:') |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
833 call assert_equal(2, tabpagenr()) |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
834 |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
835 " Test for :tabonly # |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
836 let wnum = win_getid() |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
837 $tabnew |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
838 tabonly # |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
839 call assert_equal(wnum, win_getid()) |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
840 call assert_equal(1, tabpagenr('$')) |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
841 |
21727
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
842 " Test for :tabmove # |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
843 tabnew |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
844 let wnum = win_getid() |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
845 tabnew |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
846 tabnew |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
847 tabnext 2 |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
848 tabmove # |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
849 call assert_equal(4, tabpagenr()) |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
850 call assert_equal(wnum, win_getid()) |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
851 |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
852 tabonly! |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
853 endfunc |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
854 |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
855 " vim: shiftwidth=2 sts=2 expandtab |