Mercurial > vim
annotate src/testdir/test_tabpage.vim @ 32816:939396a5711c v9.0.1722
patch 9.0.1722: wrong error messages when passing wrong types to count()
Commit: https://github.com/vim/vim/commit/4f389e7c0fe7dfeccfa512a72fa36f9028d57159
Author: zeertzjq <zeertzjq@outlook.com>
Date: Thu Aug 17 22:10:40 2023 +0200
patch 9.0.1722: wrong error messages when passing wrong types to count()
Problem: wrong error messages when passing wrong types to count()
Solution: fix it
This fixes two problems:
1. When passing wrong type to {ic} argument of count(), two error
messages are given, the second of which is misleading.
2. When passing wrong type to {comp} argument of count(), the error
message doesn't mention that {comp} may be a String.
closes: #12825
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 17 Aug 2023 22:15:03 +0200 |
parents | e47739c49487 |
children | f4d88db48a63 |
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 |
32282
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
153 func Test_tabpage_drop() |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
154 edit f1 |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
155 tab split f2 |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
156 tab split f3 |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
157 normal! gt |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
158 call assert_equal(1, tabpagenr()) |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
159 |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
160 tab drop f3 |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
161 call assert_equal(3, tabpagenr()) |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
162 call assert_equal(1, tabpagenr('#')) |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
163 bwipe! |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
164 bwipe! |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
165 bwipe! |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
166 call assert_equal(1, tabpagenr('$')) |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
167 endfunc |
e47739c49487
patch 9.0.1472: ":drop fname" may change the last used tab page
Bram Moolenaar <Bram@vim.org>
parents:
32062
diff
changeset
|
168 |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
169 " Test autocommands |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
170 function Test_tabpage_with_autocmd() |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
171 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
|
172 augroup TestTabpageGroup |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
173 au! |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
174 autocmd TabEnter * call add(s:li, 'TabEnter') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
175 autocmd WinEnter * call add(s:li, 'WinEnter') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
176 autocmd BufEnter * call add(s:li, 'BufEnter') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
177 autocmd TabLeave * call add(s:li, 'TabLeave') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
178 autocmd WinLeave * call add(s:li, 'WinLeave') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
179 autocmd BufLeave * call add(s:li, 'BufLeave') |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
180 augroup END |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
181 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
182 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
183 let t:a='a' |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
184 C tab split |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
185 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
|
186 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
187 let t:a='b' |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
188 C tabnew |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
189 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
|
190 let t:a='c' |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
191 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
|
192 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
|
193 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
194 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
195 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
|
196 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
|
197 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
|
198 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
|
199 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
200 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
201 let w:a='a' |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
202 C vsplit |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
203 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
|
204 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
205 let w:a='a' |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
206 let tabn=tabpagenr() |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
207 let winr=range(1, winnr('$')) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
208 C tabnext 1 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
209 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
|
210 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
|
211 call assert_equal(['a', 'a'], s:li) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
212 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
|
213 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
|
214 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
|
215 call assert_equal(['2', '4'], 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 augroup TabDestructive |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
218 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
|
219 augroup END |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
220 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
221 C tabnext 3 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
222 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
|
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 autocmd! TabDestructive TabEnter |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
226 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
227 C tabnew |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
228 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
|
229 let s:li = [] |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
230 C tabnext 1 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
231 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
|
232 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
233 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
|
234 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
|
235 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
|
236 C tabnext 2 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
237 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
|
238 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
|
239 call assert_equal(['2/2'], [tabpagenr().'/'.tabpagenr('$')]) |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
240 |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
241 delcommand C |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
242 autocmd! TabDestructive |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
243 augroup! TabDestructive |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
244 autocmd! TestTabpageGroup |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
245 augroup! TestTabpageGroup |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
246 1tabonly! |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
247 endfunction |
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
248 |
19112
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
249 " 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
|
250 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
|
251 augroup TestTabpageGroup |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
252 au! |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
253 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
|
254 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
|
255 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
|
256 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
|
257 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
|
258 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
|
259 augroup END |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
260 |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
261 let s:li = [] |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
262 tab drop test1 |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
263 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
|
264 |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
265 let s:li = [] |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
266 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
|
267 call assert_equal([ |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
268 \ '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
|
269 \ '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
|
270 \ '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
|
271 |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
272 autocmd! TestTabpageGroup |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
273 augroup! TestTabpageGroup |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
274 1tabonly! |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
275 endfunction |
0b337617877e
patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
276 |
9927
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
277 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
|
278 CheckFeature quickfix |
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
279 |
9927
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
280 for n in range(4) |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
281 tabedit |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
282 endfor |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
283 |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
284 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
|
285 exec 'tabnext ' . a:pre_nr |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
286 exec a:cmd |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
287 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
|
288 call assert_equal('help', &buftype) |
9927
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
289 helpclose |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
290 endfunc |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
291 |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
292 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
|
293 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
|
294 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
|
295 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
|
296 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
|
297 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
|
298 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
|
299 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
|
300 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
|
301 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
|
302 call assert_fails('99tab help', 'E16:') |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
303 call assert_fails('+99tab help', 'E16:') |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
304 call assert_fails('-99tab help', 'E16:') |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
305 |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
306 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
|
307 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
308 endfunction |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
309 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
310 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
|
311 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
|
312 normal! G |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
313 exec a:cmd |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
314 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
|
315 endfunc |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
316 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
317 " 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
|
318 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
|
319 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
|
320 tabedit |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
321 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
|
322 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
323 |
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(1, 'tabnext', 2) |
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(1, '3tabnext', 3) |
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(1, '.tabnext', 1) |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
327 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
|
328 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
|
329 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
|
330 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
|
331 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
|
332 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
|
333 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
|
334 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
|
335 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
|
336 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
|
337 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
|
338 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
|
339 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
|
340 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
|
341 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
|
342 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
|
343 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
|
344 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
|
345 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
|
346 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
|
347 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
|
348 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
|
349 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
|
350 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
|
351 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
352 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
353 endfunction |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
354 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
355 " 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
|
356 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
|
357 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
|
358 tabedit |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
359 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
|
360 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
361 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
362 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
|
363 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
|
364 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
|
365 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
|
366 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
|
367 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
|
368 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
|
369 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
|
370 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
|
371 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
|
372 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
|
373 else |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
374 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
|
375 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
|
376 endif |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
377 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
|
378 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
379 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
380 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
381 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
382 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
383 endfunction |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
384 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
385 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
|
386 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
|
387 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
388 0tabedit n0 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
389 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
|
390 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
|
391 if n == 1 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
392 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
|
393 endif |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
394 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
395 endfunc |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
396 |
13982
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
397 func Test_tabpage_ctrl_pgup_pgdown() |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
398 enew! |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
399 tabnew tab1 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
400 tabnew tab2 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
401 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
402 call assert_equal(3, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
403 exe "norm! \<C-PageUp>" |
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 exe "norm! \<C-PageDown>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
406 call assert_equal(3, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
407 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
408 " Check wrapping at last or first page. |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
409 exe "norm! \<C-PageDown>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
410 call assert_equal(1, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
411 exe "norm! \<C-PageUp>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
412 call assert_equal(3, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
413 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
414 " 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
|
415 " - {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
|
416 " - {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
|
417 exe "norm! 2\<C-PageUp>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
418 call assert_equal(1, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
419 exe "norm! 2\<C-PageDown>" |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
420 call assert_equal(2, tabpagenr()) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
421 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
422 1tabonly! |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
423 endfunc |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
424 |
10739
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
425 " 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
|
426 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
|
427 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
428 " pre count |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
429 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
|
430 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
|
431 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
|
432 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
|
433 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
|
434 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
|
435 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
|
436 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
|
437 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
438 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
|
439 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
|
440 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
|
441 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
|
442 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
|
443 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
|
444 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
|
445 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
|
446 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
447 " post count |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
448 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
|
449 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
|
450 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
|
451 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
|
452 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
|
453 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
|
454 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
|
455 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
|
456 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
457 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
|
458 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
|
459 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
|
460 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
|
461 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
|
462 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
|
463 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
|
464 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
|
465 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
466 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
|
467 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
|
468 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
|
469 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
|
470 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
|
471 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
|
472 else |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
473 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
|
474 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
|
475 endif |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
476 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
|
477 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
|
478 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
479 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
480 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
481 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
|
482 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
|
483 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
|
484 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
|
485 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
|
486 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
487 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
488 endfunction |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
489 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
490 " 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
|
491 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
|
492 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
493 " 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
|
494 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
|
495 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
|
496 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
|
497 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
|
498 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
|
499 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
|
500 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
501 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
502 " 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
|
503 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
|
504 \ [2, '', '!'], |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
505 \ [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
|
506 \ ] |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
507 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
|
508 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
|
509 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
|
510 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
|
511 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
|
512 else |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
513 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
|
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 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
|
516 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
|
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 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
521 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
|
522 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
|
523 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
|
524 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
|
525 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
|
526 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
|
527 else |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
528 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
|
529 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
|
530 endif |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
531 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
|
532 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
|
533 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
534 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
535 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
536 " 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
|
537 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
|
538 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
|
539 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
|
540 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
|
541 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
|
542 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
|
543 endfor |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
544 |
21459
a422bd80b434
patch 8.2.1280: Ex command error cannot contain an argument
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
545 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
|
546 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
|
547 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
|
548 |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
549 1tabonly! |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
550 new |
380e706814da
patch 8.0.0259: tab commands do not handle count correctly
Christian Brabandt <cb@256bit.org>
parents:
10432
diff
changeset
|
551 only! |
9927
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
552 endfunction |
e1a8b2601fe0
commit https://github.com/vim/vim/commit/9b7f8ce9eb3cb704f8cc14ab659bf86b1d6dc13c
Christian Brabandt <cb@256bit.org>
parents:
9906
diff
changeset
|
553 |
10082
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
554 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
|
555 " This once caused a crash |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
556 new |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
557 tabedit |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
558 tabfirst |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
559 au BufUnload <buffer> tabnext |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
560 q |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
561 |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
562 while tabpagenr('$') > 1 |
10082
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
563 bwipe! |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
564 endwhile |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
565 endfunc |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
566 |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
567 func Test_tabnext_on_buf_unload2() |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
568 " This once caused a crash |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
569 tabedit |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
570 autocmd BufUnload <buffer> tabnext |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
571 file x |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
572 edit y |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
573 |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
574 while tabpagenr('$') > 1 |
7fc6103c6651
commit https://github.com/vim/vim/commit/5a49789a9b1f6447aeafbbbdd5b235dd10c471d5
Christian Brabandt <cb@256bit.org>
parents:
10076
diff
changeset
|
575 bwipe! |
10076
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
576 endwhile |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
577 endfunc |
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
578 |
11635
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
579 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
|
580 " 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
|
581 edit Xtest |
11635
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
582 new |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
583 only |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
584 set bufhidden=delete |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
585 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
|
586 tabnew tab1 |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
587 tabnew tab2 |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
588 1tabn |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
589 q! |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
590 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
|
591 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
|
592 " clean up |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
593 while tabpagenr('$') > 1 |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
594 bwipe! |
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
595 endwhile |
12688
a6a935b3270e
patch 8.0.1222: test functions interfere with each other
Christian Brabandt <cb@256bit.org>
parents:
11635
diff
changeset
|
596 buf Xtest |
11635
70bc7b107610
patch 8.0.0700: segfault with QuitPre autocommand closes the window
Christian Brabandt <cb@256bit.org>
parents:
10739
diff
changeset
|
597 endfunc |
10076
bc30991c3e98
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Christian Brabandt <cb@256bit.org>
parents:
9927
diff
changeset
|
598 |
13982
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
599 func Test_tabs() |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
600 enew! |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
601 tabnew tab1 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
602 norm ixxx |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
603 let a=split(execute(':tabs'), "\n") |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
604 call assert_equal(['Tab page 1', |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
605 \ ' [No Name]', |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
606 \ 'Tab page 2', |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
607 \ '> + tab1'], a) |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
608 |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
609 1tabonly! |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
610 bw! |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
611 endfunc |
29bad8212db3
patch 8.1.0009: tabpages insufficiently tested
Christian Brabandt <cb@256bit.org>
parents:
13268
diff
changeset
|
612 |
16477
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
613 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
|
614 CheckRunVimInTerminal |
16477
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
615 call writefile([ |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
616 \ '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
|
617 \ '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
|
618 \ 'tabnew', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
619 \ '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
|
620 \ 'tabnext', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
621 \ 'redraw!', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
622 \ '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
|
623 \ 'tabnext', |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
624 \ 'redraw', |
30865
c8ebe35b2475
patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents:
30657
diff
changeset
|
625 \ ], 'XTest_tabpage_cmdheight', 'D') |
16477
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
626 " 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
|
627 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
|
628 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
|
629 |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
630 call StopVimInTerminal(buf) |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
631 endfunc |
8cc31b1b1d23
patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Bram Moolenaar <Bram@vim.org>
parents:
16376
diff
changeset
|
632 |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
633 " 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
|
634 func Test_tabpage_close_cmdwin() |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
635 tabnew |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
636 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
|
637 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
|
638 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
|
639 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
|
640 tabonly |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
641 endfunc |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19112
diff
changeset
|
642 |
20941
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
643 " 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
|
644 " 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
|
645 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
|
646 tabnew |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
647 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
|
648 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
|
649 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
|
650 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
|
651 %bw! |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
652 endfunc |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20625
diff
changeset
|
653 |
20947
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
654 " 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
|
655 " 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
|
656 " 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
|
657 func TabLineSelectPageCode(tabnr) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
658 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
|
659 endfunc |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
660 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
661 " 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
|
662 " 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
|
663 " 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
|
664 " 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
|
665 func TabMenuNewItemCode(tabnr) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
666 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
|
667 endfunc |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
668 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
669 " 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
|
670 " 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
|
671 " (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
|
672 func TabMenuCloseItemCode(tabnr) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
673 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
|
674 endfunc |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
675 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
676 " 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
|
677 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
|
678 " 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
|
679 CheckGui |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
680 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
681 %bw! |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
682 tabnew |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
683 tabnew |
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(3, tabpagenr()) |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
685 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
686 " 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
|
687 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
|
688 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
|
689 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
690 " 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
|
691 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
|
692 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
|
693 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
|
694 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
695 " 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
|
696 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
|
697 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
|
698 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
|
699 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
700 " 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
|
701 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
|
702 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
|
703 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
|
704 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
705 " 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
|
706 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
|
707 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
|
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 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
|
711 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
|
712 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
|
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 " 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
|
716 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
|
717 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
|
718 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
719 " 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
|
720 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
|
721 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
|
722 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
723 " 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
|
724 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
|
725 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
|
726 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
|
727 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
728 " 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
|
729 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
|
730 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
|
731 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
|
732 |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
733 %bw! |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
734 endfunc |
1c71605f0c5d
patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
735 |
21020
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
736 " 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
|
737 " page. |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
738 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
|
739 only |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
740 tabnew |
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 " Test for BufLeave |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
743 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
744 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
745 au BufLeave * tabfirst |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
746 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
747 tabclose |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
748 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
|
749 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
750 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
751 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
752 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
753 " Test for WinLeave |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
754 $tabnew |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
755 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
756 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
757 au WinLeave * tabfirst |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
758 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
759 tabclose |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
760 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
|
761 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
762 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
763 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
764 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
765 " Test for TabLeave |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
766 $tabnew |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
767 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
768 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
769 au TabLeave * tabfirst |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
770 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
771 tabclose |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
772 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
|
773 augroup T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
774 au! |
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 augroup! T1 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
777 tabonly |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
778 endfunc |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
779 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
780 " 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
|
781 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
|
782 tabnew |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
783 tabnew |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
28289
diff
changeset
|
784 edit Xtabfile |
21020
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
785 augroup T2 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
786 au! |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
28289
diff
changeset
|
787 au BufLeave Xtabfile 1tabclose |
21020
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
788 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
789 tabfirst |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
790 call assert_equal(2, tabpagenr()) |
30051
13b02c1ea0f7
patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents:
28289
diff
changeset
|
791 call assert_equal('Xtabfile', @%) |
21020
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
792 augroup T2 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
793 au! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
794 augroup END |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
795 augroup! T2 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
796 %bw! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
797 endfunc |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20947
diff
changeset
|
798 |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
799 " 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
|
800 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
|
801 tabonly! |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
802 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
|
803 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
|
804 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
|
805 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
|
806 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
|
807 |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
808 " 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
|
809 tabnew |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
810 tabnew |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
811 tabnew |
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 2tabnext |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
814 |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
815 " 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
|
816 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
|
817 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
|
818 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
|
819 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
|
820 |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
821 " 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
|
822 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
|
823 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
|
824 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
|
825 |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
826 " 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
|
827 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
|
828 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
|
829 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
|
830 |
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 " 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
|
832 tabnext # |
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 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
|
835 |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
836 " 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
|
837 tabclose # |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
838 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
|
839 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
|
840 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
|
841 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
|
842 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
|
843 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
|
844 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
|
845 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
|
846 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
|
847 |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
848 " 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
|
849 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
|
850 $tabnew |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
851 tabonly # |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
852 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
|
853 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
|
854 |
21727
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
855 " 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
|
856 tabnew |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
857 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
|
858 tabnew |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
859 tabnew |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
860 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
|
861 tabmove # |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
862 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
|
863 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
|
864 |
860cad58f557
patch 8.2.1413: previous tab page not usable from an Ex command
Bram Moolenaar <Bram@vim.org>
parents:
21703
diff
changeset
|
865 tabonly! |
21703
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
866 endfunc |
22583b9d4efd
patch 8.2.1401: cannot jump to the last used tabpage
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
867 |
28289
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
868 " Test for tabpage allocation failure |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
869 func Test_tabpage_alloc_failure() |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
870 call test_alloc_fail(GetAllocId('newtabpage_tvars'), 0, 0) |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
871 call assert_fails('tabnew', 'E342:') |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
872 |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
873 call test_alloc_fail(GetAllocId('newtabpage_tvars'), 0, 0) |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
874 edit Xfile1 |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
875 call assert_fails('tabedit Xfile2', 'E342:') |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
876 call assert_equal(1, winnr('$')) |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
877 call assert_equal(1, tabpagenr('$')) |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
878 call assert_equal('Xfile1', @%) |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
879 |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
880 new |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
881 call test_alloc_fail(GetAllocId('newtabpage_tvars'), 0, 0) |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
882 call assert_fails('wincmd T', 'E342:') |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
883 bw! |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
884 |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
885 call test_alloc_fail(GetAllocId('newtabpage_tvars'), 0, 0) |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
886 call assert_fails('tab split', 'E342:') |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
887 call assert_equal(2, winnr('$')) |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
888 call assert_equal(1, tabpagenr('$')) |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
889 endfunc |
cdaff4db7760
patch 8.2.4670: memory allocation failures for new tab page not tested
Bram Moolenaar <Bram@vim.org>
parents:
23748
diff
changeset
|
890 |
32062
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
891 " this was giving ml_get errors |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
892 func Test_tabpage_last_line() |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
893 enew |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
894 call setline(1, repeat(['a'], &lines + 5)) |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
895 $ |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
896 tabnew |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
897 call setline(1, repeat(['b'], &lines + 20)) |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
898 $ |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
899 tabNext |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
900 call assert_equal('a', getline('.')) |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
901 |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
902 bwipe! |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
903 bwipe! |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
904 endfunc |
8c9f63a518f5
patch 9.0.1362: ml_get error when going to another tab
Bram Moolenaar <Bram@vim.org>
parents:
30865
diff
changeset
|
905 |
9906
1ed0cab95f9a
commit https://github.com/vim/vim/commit/1381d791478ee77c8368b89a3d4954316bf839b5
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
906 " vim: shiftwidth=2 sts=2 expandtab |