Mercurial > vim
annotate src/testdir/test_tagjump.vim @ 27386:ccfb16d876b1 v8.2.4221
patch 8.2.4221: some functions in normal.c are very long
Commit: https://github.com/vim/vim/commit/a827bf3ea8fe465aa456ef7a7a37d6afe6a47628
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Wed Jan 26 12:14:15 2022 +0000
patch 8.2.4221: some functions in normal.c are very long
Problem: Some functions in normal.c are very long.
Solution: Move code to separate functions. (Yegappan Lakshmanan,
closes #9628)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 26 Jan 2022 13:15:03 +0100 |
parents | ca61340ac1b9 |
children | b65a50d2fa4f |
rev | line source |
---|---|
8934
42c8599421e5
commit https://github.com/vim/vim/commit/8d8aa0a367380f23f0af428fcb66a1a0615bf872
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Tests for tagjump (tags and special searches) |
42c8599421e5
commit https://github.com/vim/vim/commit/8d8aa0a367380f23f0af428fcb66a1a0615bf872
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
18293
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
3 source check.vim |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
4 source screendump.vim |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
5 |
8934
42c8599421e5
commit https://github.com/vim/vim/commit/8d8aa0a367380f23f0af428fcb66a1a0615bf872
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 " SEGV occurs in older versions. (At least 7.4.1748 or older) |
42c8599421e5
commit https://github.com/vim/vim/commit/8d8aa0a367380f23f0af428fcb66a1a0615bf872
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 func Test_ptag_with_notagstack() |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18640
diff
changeset
|
8 CheckFeature quickfix |
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18640
diff
changeset
|
9 |
8934
42c8599421e5
commit https://github.com/vim/vim/commit/8d8aa0a367380f23f0af428fcb66a1a0615bf872
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 set notagstack |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
11 call assert_fails('ptag does_not_exist_tag_name', 'E433:') |
8934
42c8599421e5
commit https://github.com/vim/vim/commit/8d8aa0a367380f23f0af428fcb66a1a0615bf872
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 set tagstack&vim |
42c8599421e5
commit https://github.com/vim/vim/commit/8d8aa0a367380f23f0af428fcb66a1a0615bf872
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 endfunc |
9228
ea504064c996
commit https://github.com/vim/vim/commit/fd89d7ea81b18d32363456b16258174dc9e095dc
Christian Brabandt <cb@256bit.org>
parents:
8934
diff
changeset
|
14 |
21020
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
15 func Test_ptjump() |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
16 CheckFeature quickfix |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
17 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
18 set tags=Xtags |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
19 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
20 \ "one\tXfile\t1", |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
21 \ "three\tXfile\t3", |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
22 \ "two\tXfile\t2"], |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
23 \ 'Xtags') |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
24 call writefile(['one', 'two', 'three'], 'Xfile') |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
25 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
26 %bw! |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
27 ptjump two |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
28 call assert_equal(2, winnr()) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
29 wincmd p |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
30 call assert_equal(1, &previewwindow) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
31 call assert_equal('Xfile', expand("%:p:t")) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
32 call assert_equal(2, line('.')) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
33 call assert_equal(2, winnr('$')) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
34 call assert_equal(1, winnr()) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
35 close |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
36 call setline(1, ['one', 'two', 'three']) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
37 exe "normal 3G\<C-W>g}" |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
38 call assert_equal(2, winnr()) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
39 wincmd p |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
40 call assert_equal(1, &previewwindow) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
41 call assert_equal('Xfile', expand("%:p:t")) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
42 call assert_equal(3, line('.')) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
43 call assert_equal(2, winnr('$')) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
44 call assert_equal(1, winnr()) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
45 close |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
46 exe "normal 3G5\<C-W>\<C-G>}" |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
47 wincmd p |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
48 call assert_equal(5, winheight(0)) |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
49 close |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
50 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
51 call delete('Xtags') |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
52 call delete('Xfile') |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
53 set tags& |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
54 endfunc |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
55 |
9949
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
56 func Test_cancel_ptjump() |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18640
diff
changeset
|
57 CheckFeature quickfix |
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18640
diff
changeset
|
58 |
9949
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
59 set tags=Xtags |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
60 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
61 \ "word\tfile1\tcmd1", |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
62 \ "word\tfile2\tcmd2"], |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
63 \ 'Xtags') |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
64 |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
65 only! |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
66 call feedkeys(":ptjump word\<CR>\<CR>", "xt") |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
67 help |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
68 call assert_equal(2, winnr('$')) |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
69 |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
70 call delete('Xtags') |
17093
5cda6165a5c1
patch 8.1.1546: in some tests 'tags' is set but not restored
Bram Moolenaar <Bram@vim.org>
parents:
16178
diff
changeset
|
71 set tags& |
9949
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
72 quit |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
73 endfunc |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
74 |
10611
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
75 func Test_static_tagjump() |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
76 set tags=Xtags |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
77 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
78 \ "one\tXfile1\t/^one/;\"\tf\tfile:\tsignature:(void)", |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
79 \ "word\tXfile2\tcmd2"], |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
80 \ 'Xtags') |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
81 new Xfile1 |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
82 call setline(1, ['empty', 'one()', 'empty']) |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
83 write |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
84 tag one |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
85 call assert_equal(2, line('.')) |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
86 |
11008
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
87 bwipe! |
10611
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
88 set tags& |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
89 call delete('Xtags') |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
90 call delete('Xfile1') |
11008
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
91 endfunc |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
92 |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
93 func Test_duplicate_tagjump() |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
94 set tags=Xtags |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
95 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
96 \ "thesame\tXfile1\t1;\"\td\tfile:", |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
97 \ "thesame\tXfile1\t2;\"\td\tfile:", |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
98 \ "thesame\tXfile1\t3;\"\td\tfile:", |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
99 \ ], |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
100 \ 'Xtags') |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
101 new Xfile1 |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
102 call setline(1, ['thesame one', 'thesame two', 'thesame three']) |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
103 write |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
104 tag thesame |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
105 call assert_equal(1, line('.')) |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
106 tnext |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
107 call assert_equal(2, line('.')) |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
108 tnext |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
109 call assert_equal(3, line('.')) |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
110 |
10611
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
111 bwipe! |
11008
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
112 set tags& |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
113 call delete('Xtags') |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
114 call delete('Xfile1') |
10611
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
115 endfunc |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
116 |
11476
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
117 func Test_tagjump_switchbuf() |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18640
diff
changeset
|
118 CheckFeature quickfix |
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18640
diff
changeset
|
119 |
11476
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
120 set tags=Xtags |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
121 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
122 \ "second\tXfile1\t2", |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
123 \ "third\tXfile1\t3",], |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
124 \ 'Xtags') |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
125 call writefile(['first', 'second', 'third'], 'Xfile1') |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
126 |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
127 enew | only |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
128 set switchbuf= |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
129 stag second |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
130 call assert_equal(2, winnr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
131 call assert_equal(2, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
132 stag third |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
133 call assert_equal(3, winnr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
134 call assert_equal(3, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
135 |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
136 enew | only |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
137 set switchbuf=useopen |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
138 stag second |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
139 call assert_equal(2, winnr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
140 call assert_equal(2, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
141 stag third |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
142 call assert_equal(2, winnr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
143 call assert_equal(3, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
144 |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
145 enew | only |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
146 set switchbuf=usetab |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
147 tab stag second |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
148 call assert_equal(2, tabpagenr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
149 call assert_equal(2, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
150 1tabnext | stag third |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
151 call assert_equal(2, tabpagenr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
152 call assert_equal(3, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
153 |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
154 tabclose! |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
155 enew | only |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
156 call delete('Xfile1') |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
157 call delete('Xtags') |
17093
5cda6165a5c1
patch 8.1.1546: in some tests 'tags' is set but not restored
Bram Moolenaar <Bram@vim.org>
parents:
16178
diff
changeset
|
158 set tags& |
11476
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
159 set switchbuf&vim |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
160 endfunc |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
161 |
10145
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
162 " Tests for [ CTRL-I and CTRL-W CTRL-I commands |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
163 function Test_keyword_jump() |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
164 call writefile(["#include Xinclude", "", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
165 \ "", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
166 \ "/* test text test tex start here", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
167 \ " some text", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
168 \ " test text", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
169 \ " start OK if found this line", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
170 \ " start found wrong line", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
171 \ "test text"], 'Xtestfile') |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
172 call writefile(["/* test text test tex start here", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
173 \ " some text", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
174 \ " test text", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
175 \ " start OK if found this line", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
176 \ " start found wrong line", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
177 \ "test text"], 'Xinclude') |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
178 new Xtestfile |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
179 call cursor(1,1) |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
180 call search("start") |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
181 exe "normal! 5[\<C-I>" |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
182 call assert_equal(" start OK if found this line", getline('.')) |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
183 call cursor(1,1) |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
184 call search("start") |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
185 exe "normal! 5\<C-W>\<C-I>" |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
186 call assert_equal(" start OK if found this line", getline('.')) |
22375
595ea7f099cd
patch 8.2.1736: failure to compile a pattern not tested much
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
187 |
595ea7f099cd
patch 8.2.1736: failure to compile a pattern not tested much
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
188 " invalid tag search pattern |
595ea7f099cd
patch 8.2.1736: failure to compile a pattern not tested much
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
189 call assert_fails('tag /\%(/', 'E426:') |
595ea7f099cd
patch 8.2.1736: failure to compile a pattern not tested much
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
190 |
10145
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
191 enew! | only |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
192 call delete('Xtestfile') |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
193 call delete('Xinclude') |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
194 endfunction |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
195 |
12686
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
196 " Test for jumping to a tag with 'hidden' set, with symbolic link in path of |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
197 " tag. This only works for Unix, because of the symbolic link. |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
198 func Test_tag_symbolic() |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
199 CheckUnix |
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
200 |
12686
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
201 set hidden |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
202 call delete("Xtest.dir", "rf") |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
203 call system("ln -s . Xtest.dir") |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
204 " Create a tags file with the current directory name inserted. |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
205 call writefile([ |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
206 \ "SECTION_OFF " . getcwd() . "/Xtest.dir/Xtest.c /^#define SECTION_OFF 3$/", |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
207 \ '', |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
208 \ ], 'Xtags') |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
209 call writefile(['#define SECTION_OFF 3', |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
210 \ '#define NUM_SECTIONS 3'], 'Xtest.c') |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
211 |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
212 " Try jumping to a tag, but with a path that contains a symbolic link. When |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
213 " wrong, this will give the ATTENTION message. The next space will then be |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
214 " eaten by hit-return, instead of moving the cursor to 'd'. |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
215 set tags=Xtags |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
216 enew! |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
217 call append(0, 'SECTION_OFF') |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
218 call cursor(1,1) |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
219 exe "normal \<C-]> " |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
220 call assert_equal('Xtest.c', expand('%:t')) |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
221 call assert_equal(2, col('.')) |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
222 |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
223 set hidden& |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
224 set tags& |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
225 enew! |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
226 call delete('Xtags') |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
227 call delete('Xtest.c') |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
228 call delete("Xtest.dir", "rf") |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
229 %bwipe! |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
230 endfunc |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
231 |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
232 " Tests for tag search with !_TAG_FILE_ENCODING. |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
233 " Depends on the test83-tags2 and test83-tags3 files. |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
234 func Test_tag_file_encoding() |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
235 if has('vms') |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
236 throw 'Skipped: does not work on VMS' |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
237 endif |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
238 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
239 if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21" |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
240 throw 'Skipped: iconv does not work' |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
241 endif |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
242 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
243 let save_enc = &encoding |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
244 set encoding=utf8 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
245 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
246 let content = ['text for tags1', 'abcdefghijklmnopqrs'] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
247 call writefile(content, 'Xtags1.txt') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
248 let content = ['text for tags2', 'ABC'] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
249 call writefile(content, 'Xtags2.txt') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
250 let content = ['text for tags3', 'ABC'] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
251 call writefile(content, 'Xtags3.txt') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
252 let content = ['!_TAG_FILE_ENCODING utf-8 //', 'abcdefghijklmnopqrs Xtags1.txt /abcdefghijklmnopqrs'] |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
253 call writefile(content, 'Xtags1') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
254 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
255 " case1: |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
256 new |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
257 set tags=Xtags1 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
258 tag abcdefghijklmnopqrs |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
259 call assert_equal('Xtags1.txt', expand('%:t')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
260 call assert_equal('abcdefghijklmnopqrs', getline('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
261 close |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
262 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
263 " case2: |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
264 new |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
265 set tags=test83-tags2 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
266 tag /.BC |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
267 call assert_equal('Xtags2.txt', expand('%:t')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
268 call assert_equal('ABC', getline('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
269 close |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
270 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
271 " case3: |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
272 new |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
273 set tags=test83-tags3 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
274 tag abc50 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
275 call assert_equal('Xtags3.txt', expand('%:t')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
276 call assert_equal('ABC', getline('.')) |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
277 close |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
278 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
279 set tags& |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
280 let &encoding = save_enc |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
281 call delete('Xtags1.txt') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
282 call delete('Xtags2.txt') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
283 call delete('Xtags3.txt') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
284 call delete('Xtags1') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
285 endfunc |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
286 |
20941
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
287 " Test for emacs-style tags file (TAGS) |
13227
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
288 func Test_tagjump_etags() |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
289 CheckFeature emacs_tags |
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
290 |
13227
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
291 call writefile([ |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
292 \ "void foo() {}", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
293 \ "int main(int argc, char **argv)", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
294 \ "{", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
295 \ "\tfoo();", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
296 \ "\treturn 0;", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
297 \ "}", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
298 \ ], 'Xmain.c') |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
299 |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
300 call writefile([ |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
301 \ "\x0c", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
302 \ "Xmain.c,64", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
303 \ "void foo() {}\x7ffoo\x011,0", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
304 \ "int main(int argc, char **argv)\x7fmain\x012,14", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
305 \ ], 'Xtags') |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
306 set tags=Xtags |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
307 ta foo |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
308 call assert_equal('void foo() {}', getline('.')) |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
309 |
20893
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
310 " Test for including another tags file |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
311 call writefile([ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
312 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
313 \ "Xmain.c,64", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
314 \ "void foo() {}\x7ffoo\x011,0", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
315 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
316 \ "Xnonexisting,include", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
317 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
318 \ "Xtags2,include" |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
319 \ ], 'Xtags') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
320 call writefile([ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
321 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
322 \ "Xmain.c,64", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
323 \ "int main(int argc, char **argv)\x7fmain\x012,14", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
324 \ ], 'Xtags2') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
325 tag main |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
326 call assert_equal(2, line('.')) |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
327 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
328 " corrupted tag line |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
329 call writefile([ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
330 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
331 \ "Xmain.c,8", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
332 \ "int main" |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
333 \ ], 'Xtags', 'b') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
334 call assert_fails('tag foo', 'E426:') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
335 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
336 " invalid line number |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
337 call writefile([ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
338 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
339 \ "Xmain.c,64", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
340 \ "void foo() {}\x7ffoo\x0abc,0", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
341 \ ], 'Xtags') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
342 call assert_fails('tag foo', 'E426:') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
343 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
344 " invalid tag name |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
345 call writefile([ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
346 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
347 \ "Xmain.c,64", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
348 \ ";;;;\x7f1,0", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
349 \ ], 'Xtags') |
21265
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
350 call assert_fails('tag foo', 'E431:') |
20893
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
351 |
13227
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
352 call delete('Xtags') |
20893
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
353 call delete('Xtags2') |
13227
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
354 call delete('Xmain.c') |
20893
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
355 set tags& |
13227
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
356 bwipe! |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
357 endfunc |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
358 |
15016
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
359 " Test for getting and modifying the tag stack |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
360 func Test_getsettagstack() |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
361 call writefile(['line1', 'line2', 'line3'], 'Xfile1') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
362 call writefile(['line1', 'line2', 'line3'], 'Xfile2') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
363 call writefile(['line1', 'line2', 'line3'], 'Xfile3') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
364 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
365 enew | only |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
366 call settagstack(1, {'items' : []}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
367 call assert_equal(0, gettagstack(1).length) |
17912
9fac6d0de69a
patch 8.1.1952: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents:
17093
diff
changeset
|
368 call assert_equal([], 1->gettagstack().items) |
15016
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
369 " Error cases |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
370 call assert_equal({}, gettagstack(100)) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
371 call assert_equal(-1, settagstack(100, {'items' : []})) |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
372 call assert_fails('call settagstack(1, [1, 10])', 'E715:') |
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
373 call assert_fails("call settagstack(1, {'items' : 10})", 'E714:') |
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
374 call assert_fails("call settagstack(1, {'items' : []}, 10)", 'E928:') |
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
375 call assert_fails("call settagstack(1, {'items' : []}, 'b')", 'E962:') |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
376 call assert_equal(-1, settagstack(0, test_null_dict())) |
15016
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
377 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
378 set tags=Xtags |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
379 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
380 \ "one\tXfile1\t1", |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
381 \ "three\tXfile3\t3", |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
382 \ "two\tXfile2\t2"], |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
383 \ 'Xtags') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
384 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
385 let stk = [] |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
386 call add(stk, {'bufnr' : bufnr('%'), 'tagname' : 'one', |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
387 \ 'from' : [bufnr('%'), line('.'), col('.'), 0], 'matchnr' : 1}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
388 tag one |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
389 call add(stk, {'bufnr' : bufnr('%'), 'tagname' : 'two', |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
390 \ 'from' : [bufnr('%'), line('.'), col('.'), 0], 'matchnr' : 1}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
391 tag two |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
392 call add(stk, {'bufnr' : bufnr('%'), 'tagname' : 'three', |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
393 \ 'from' : [bufnr('%'), line('.'), col('.'), 0], 'matchnr' : 1}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
394 tag three |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
395 call assert_equal(3, gettagstack(1).length) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
396 call assert_equal(stk, gettagstack(1).items) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
397 " Check for default - current window |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
398 call assert_equal(3, gettagstack().length) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
399 call assert_equal(stk, gettagstack().items) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
400 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
401 " Try to set current index to invalid values |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
402 call settagstack(1, {'curidx' : -1}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
403 call assert_equal(1, gettagstack().curidx) |
18000
7a19c8d6bb9e
patch 8.1.1996: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17912
diff
changeset
|
404 eval {'curidx' : 50}->settagstack(1) |
15016
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
405 call assert_equal(4, gettagstack().curidx) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
406 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
407 " Try pushing invalid items onto the stack |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
408 call settagstack(1, {'items' : []}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
409 call settagstack(1, {'items' : ["plate"]}, 'a') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
410 call assert_equal(0, gettagstack().length) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
411 call assert_equal([], gettagstack().items) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
412 call settagstack(1, {'items' : [{"tagname" : "abc"}]}, 'a') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
413 call assert_equal(0, gettagstack().length) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
414 call assert_equal([], gettagstack().items) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
415 call settagstack(1, {'items' : [{"from" : 100}]}, 'a') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
416 call assert_equal(0, gettagstack().length) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
417 call assert_equal([], gettagstack().items) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
418 call settagstack(1, {'items' : [{"from" : [2, 1, 0, 0]}]}, 'a') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
419 call assert_equal(0, gettagstack().length) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
420 call assert_equal([], gettagstack().items) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
421 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
422 " Push one item at a time to the stack |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
423 call settagstack(1, {'items' : []}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
424 call settagstack(1, {'items' : [stk[0]]}, 'a') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
425 call settagstack(1, {'items' : [stk[1]]}, 'a') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
426 call settagstack(1, {'items' : [stk[2]]}, 'a') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
427 call settagstack(1, {'curidx' : 4}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
428 call assert_equal({'length' : 3, 'curidx' : 4, 'items' : stk}, |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
429 \ gettagstack(1)) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
430 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
431 " Try pushing items onto a full stack |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
432 for i in range(7) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
433 call settagstack(1, {'items' : stk}, 'a') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
434 endfor |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
435 call assert_equal(20, gettagstack().length) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
436 call settagstack(1, |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
437 \ {'items' : [{'tagname' : 'abc', 'from' : [1, 10, 1, 0]}]}, 'a') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
438 call assert_equal('abc', gettagstack().items[19].tagname) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
439 |
19033
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
440 " truncate the tag stack |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
441 call settagstack(1, |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
442 \ {'curidx' : 9, |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
443 \ 'items' : [{'tagname' : 'abc', 'from' : [1, 10, 1, 0]}]}, 't') |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
444 let t = gettagstack() |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
445 call assert_equal(9, t.length) |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
446 call assert_equal(10, t.curidx) |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
447 |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
448 " truncate the tag stack without pushing any new items |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
449 call settagstack(1, {'curidx' : 5}, 't') |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
450 let t = gettagstack() |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
451 call assert_equal(4, t.length) |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
452 call assert_equal(5, t.curidx) |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
453 |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
454 " truncate an empty tag stack and push new items |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
455 call settagstack(1, {'items' : []}) |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
456 call settagstack(1, |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
457 \ {'items' : [{'tagname' : 'abc', 'from' : [1, 10, 1, 0]}]}, 't') |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
458 let t = gettagstack() |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
459 call assert_equal(1, t.length) |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
460 call assert_equal(2, t.curidx) |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
461 |
15016
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
462 " Tag with multiple matches |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
463 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
464 \ "two\tXfile1\t1", |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
465 \ "two\tXfile2\t3", |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
466 \ "two\tXfile3\t2"], |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
467 \ 'Xtags') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
468 call settagstack(1, {'items' : []}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
469 tag two |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
470 tnext |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
471 tnext |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
472 call assert_equal(1, gettagstack().length) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
473 call assert_equal(3, gettagstack().items[0].matchnr) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
474 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
475 " Memory allocation failures |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
476 call test_alloc_fail(GetAllocId('tagstack_items'), 0, 0) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
477 call assert_fails('call gettagstack()', 'E342:') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
478 call test_alloc_fail(GetAllocId('tagstack_from'), 0, 0) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
479 call assert_fails('call gettagstack()', 'E342:') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
480 call test_alloc_fail(GetAllocId('tagstack_details'), 0, 0) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
481 call assert_fails('call gettagstack()', 'E342:') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
482 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
483 call settagstack(1, {'items' : []}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
484 call delete('Xfile1') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
485 call delete('Xfile2') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
486 call delete('Xfile3') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
487 call delete('Xtags') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
488 set tags& |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
489 endfunc |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
490 |
16164
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
491 func Test_tag_with_count() |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
492 call writefile([ |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
493 \ 'test Xtest.h /^void test();$/;" p typeref:typename:void signature:()', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
494 \ ], 'Xtags') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
495 call writefile([ |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
496 \ 'main Xtest.c /^int main()$/;" f typeref:typename:int signature:()', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
497 \ 'test Xtest.c /^void test()$/;" f typeref:typename:void signature:()', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
498 \ ], 'Ytags') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
499 cal writefile([ |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
500 \ 'int main()', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
501 \ 'void test()', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
502 \ ], 'Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
503 cal writefile([ |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
504 \ 'void test();', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
505 \ ], 'Xtest.h') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
506 set tags=Xtags,Ytags |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
507 |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
508 new Xtest.c |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
509 let tl = taglist('test', 'Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
510 call assert_equal(tl[0].filename, 'Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
511 call assert_equal(tl[1].filename, 'Xtest.h') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
512 |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
513 tag test |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
514 call assert_equal(bufname('%'), 'Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
515 1tag test |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
516 call assert_equal(bufname('%'), 'Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
517 2tag test |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
518 call assert_equal(bufname('%'), 'Xtest.h') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
519 |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
520 set tags& |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
521 call delete('Xtags') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
522 call delete('Ytags') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
523 bwipe Xtest.h |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
524 bwipe Xtest.c |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
525 call delete('Xtest.h') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
526 call delete('Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
527 endfunc |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
528 |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
529 func Test_tagnr_recall() |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
530 call writefile([ |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
531 \ 'test Xtest.h /^void test();$/;" p', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
532 \ 'main Xtest.c /^int main()$/;" f', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
533 \ 'test Xtest.c /^void test()$/;" f', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
534 \ ], 'Xtags') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
535 cal writefile([ |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
536 \ 'int main()', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
537 \ 'void test()', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
538 \ ], 'Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
539 cal writefile([ |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
540 \ 'void test();', |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
541 \ ], 'Xtest.h') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
542 set tags=Xtags |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
543 |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
544 new Xtest.c |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
545 let tl = taglist('test', 'Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
546 call assert_equal(tl[0].filename, 'Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
547 call assert_equal(tl[1].filename, 'Xtest.h') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
548 |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
549 2tag test |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
550 call assert_equal(bufname('%'), 'Xtest.h') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
551 pop |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
552 call assert_equal(bufname('%'), 'Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
553 tag |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
554 call assert_equal(bufname('%'), 'Xtest.h') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
555 |
17093
5cda6165a5c1
patch 8.1.1546: in some tests 'tags' is set but not restored
Bram Moolenaar <Bram@vim.org>
parents:
16178
diff
changeset
|
556 set tags& |
16164
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
557 call delete('Xtags') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
558 bwipe Xtest.h |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
559 bwipe Xtest.c |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
560 call delete('Xtest.h') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
561 call delete('Xtest.c') |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
562 endfunc |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
563 |
16178
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
564 func Test_tag_line_toolong() |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
565 call writefile([ |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
566 \ '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 django/contrib/admin/templates/admin/edit_inline/stacked.html 16;" j line:16 language:HTML' |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
567 \ ], 'Xtags') |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
568 set tags=Xtags |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
569 let old_vbs = &verbose |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
570 set verbose=5 |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
571 " ":tjump" should give "tag not found" not "Format error in tags file" |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
572 call assert_fails('tj /foo', 'E426:') |
16178
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
573 try |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
574 tj /foo |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
575 catch /^Vim\%((\a\+)\)\=:E431/ |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
576 call assert_report(v:exception) |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
577 catch /.*/ |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
578 endtry |
18550
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
579 call assert_equal('Searching tags file Xtags', split(execute('messages'), '\n')[-1]) |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
580 |
16178
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
581 call writefile([ |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
582 \ '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 django/contrib/admin/templates/admin/edit_inline/stacked.html 16;" j line:16 language:HTML' |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
583 \ ], 'Xtags') |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
584 call assert_fails('tj /foo', 'E426:') |
16178
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
585 try |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
586 tj /foo |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
587 catch /^Vim\%((\a\+)\)\=:E431/ |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
588 call assert_report(v:exception) |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
589 catch /.*/ |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
590 endtry |
18550
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
591 call assert_equal('Searching tags file Xtags', split(execute('messages'), '\n')[-1]) |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
592 |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
593 " binary search works in file with long line |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
594 call writefile([ |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
595 \ 'asdfasfd nowhere 16', |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
596 \ 'foobar Xsomewhere 3; " 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567', |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
597 \ 'zasdfasfd nowhere 16', |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
598 \ ], 'Xtags') |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
599 call writefile([ |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
600 \ 'one', |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
601 \ 'two', |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
602 \ 'trhee', |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
603 \ 'four', |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
604 \ ], 'Xsomewhere') |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
605 tag foobar |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
606 call assert_equal('Xsomewhere', expand('%')) |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
607 call assert_equal(3, getcurpos()[1]) |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
608 |
25652
ca61340ac1b9
patch 8.2.3362: buffer overflow when completing long tag name
Bram Moolenaar <Bram@vim.org>
parents:
24964
diff
changeset
|
609 " expansion on command line works with long lines when &wildoptions contains |
ca61340ac1b9
patch 8.2.3362: buffer overflow when completing long tag name
Bram Moolenaar <Bram@vim.org>
parents:
24964
diff
changeset
|
610 " 'tagfile' |
ca61340ac1b9
patch 8.2.3362: buffer overflow when completing long tag name
Bram Moolenaar <Bram@vim.org>
parents:
24964
diff
changeset
|
611 set wildoptions=tagfile |
ca61340ac1b9
patch 8.2.3362: buffer overflow when completing long tag name
Bram Moolenaar <Bram@vim.org>
parents:
24964
diff
changeset
|
612 call writefile([ |
ca61340ac1b9
patch 8.2.3362: buffer overflow when completing long tag name
Bram Moolenaar <Bram@vim.org>
parents:
24964
diff
changeset
|
613 \ 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa file /^pattern$/;" f' |
ca61340ac1b9
patch 8.2.3362: buffer overflow when completing long tag name
Bram Moolenaar <Bram@vim.org>
parents:
24964
diff
changeset
|
614 \ ], 'Xtags') |
ca61340ac1b9
patch 8.2.3362: buffer overflow when completing long tag name
Bram Moolenaar <Bram@vim.org>
parents:
24964
diff
changeset
|
615 call feedkeys(":tag \<Tab>", 'tx') |
ca61340ac1b9
patch 8.2.3362: buffer overflow when completing long tag name
Bram Moolenaar <Bram@vim.org>
parents:
24964
diff
changeset
|
616 " Should not crash |
ca61340ac1b9
patch 8.2.3362: buffer overflow when completing long tag name
Bram Moolenaar <Bram@vim.org>
parents:
24964
diff
changeset
|
617 call assert_true(v:true) |
ca61340ac1b9
patch 8.2.3362: buffer overflow when completing long tag name
Bram Moolenaar <Bram@vim.org>
parents:
24964
diff
changeset
|
618 |
16178
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
619 call delete('Xtags') |
18550
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
620 call delete('Xsomewhere') |
17093
5cda6165a5c1
patch 8.1.1546: in some tests 'tags' is set but not restored
Bram Moolenaar <Bram@vim.org>
parents:
16178
diff
changeset
|
621 set tags& |
16178
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
622 let &verbose = old_vbs |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
623 endfunc |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
624 |
18293
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
625 " Check that using :tselect does not run into the hit-enter prompt. |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
626 " Requires a terminal to trigger that prompt. |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
627 func Test_tselect() |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
628 CheckScreendump |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
629 |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
630 call writefile([ |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
631 \ 'main Xtest.h /^void test();$/;" f', |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
632 \ 'main Xtest.c /^int main()$/;" f', |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
633 \ 'main Xtest.x /^void test()$/;" f', |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
634 \ ], 'Xtags') |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
635 cal writefile([ |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
636 \ 'int main()', |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
637 \ 'void test()', |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
638 \ ], 'Xtest.c') |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
639 |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
640 let lines =<< trim [SCRIPT] |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
641 set tags=Xtags |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
642 [SCRIPT] |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
643 call writefile(lines, 'XTest_tselect') |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
644 let buf = RunVimInTerminal('-S XTest_tselect', {'rows': 10, 'cols': 50}) |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
645 |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
646 call TermWait(buf, 50) |
18293
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
647 call term_sendkeys(buf, ":tselect main\<CR>2\<CR>") |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
648 call VerifyScreenDump(buf, 'Test_tselect_1', {}) |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
649 |
18297
b0b37bd807ba
patch 8.1.2143: cannot see each command even when 'verbose' is set
Bram Moolenaar <Bram@vim.org>
parents:
18293
diff
changeset
|
650 call StopVimInTerminal(buf) |
18293
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
651 call delete('Xtags') |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
652 call delete('Xtest.c') |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
653 call delete('XTest_tselect') |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
654 endfunc |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
655 |
18640
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
656 func Test_tagline() |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
657 call writefile([ |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
658 \ 'provision Xtest.py /^ def provision(self, **kwargs):$/;" m line:1 language:Python class:Foo', |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
659 \ 'provision Xtest.py /^ def provision(self, **kwargs):$/;" m line:3 language:Python class:Bar', |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
660 \], 'Xtags') |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
661 call writefile([ |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
662 \ ' def provision(self, **kwargs):', |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
663 \ ' pass', |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
664 \ ' def provision(self, **kwargs):', |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
665 \ ' pass', |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
666 \], 'Xtest.py') |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
667 |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
668 set tags=Xtags |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
669 |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
670 1tag provision |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
671 call assert_equal(line('.'), 1) |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
672 2tag provision |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
673 call assert_equal(line('.'), 3) |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
674 |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
675 call delete('Xtags') |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
676 call delete('Xtest.py') |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
677 set tags& |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
678 endfunc |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
679 |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
680 " Test for expanding environment variable in a tag file name |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
681 func Test_tag_envvar() |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
682 call writefile(["Func1\t$FOO\t/^Func1/"], 'Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
683 set tags=Xtags |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
684 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
685 let $FOO='TagTestEnv' |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
686 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
687 let caught_exception = v:false |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
688 try |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
689 tag Func1 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
690 catch /E429:/ |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
691 call assert_match('E429:.*"TagTestEnv".*', v:exception) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
692 let caught_exception = v:true |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
693 endtry |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
694 call assert_true(caught_exception) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
695 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
696 set tags& |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
697 call delete('Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
698 unlet $FOO |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
699 endfunc |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
700 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
701 " Test for :ptag |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
702 func Test_tag_preview() |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
703 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
704 \ "second\tXfile1\t2", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
705 \ "third\tXfile1\t3",], |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
706 \ 'Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
707 set tags=Xtags |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
708 call writefile(['first', 'second', 'third'], 'Xfile1') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
709 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
710 enew | only |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
711 ptag third |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
712 call assert_equal(2, winnr()) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
713 call assert_equal(2, winnr('$')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
714 call assert_equal(1, getwinvar(1, '&previewwindow')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
715 call assert_equal(0, getwinvar(2, '&previewwindow')) |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
716 wincmd P |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
717 call assert_equal(3, line('.')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
718 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
719 " jump to the tag again |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
720 wincmd w |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
721 ptag third |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
722 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
723 call assert_equal(3, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
724 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
725 " jump to the newer tag |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
726 wincmd w |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
727 ptag |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
728 wincmd P |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
729 call assert_equal(3, line('.')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
730 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
731 " close the preview window |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
732 pclose |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
733 call assert_equal(1, winnr('$')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
734 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
735 call delete('Xfile1') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
736 call delete('Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
737 set tags& |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
738 endfunc |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
739 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
740 " Tests for guessing the tag location |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
741 func Test_tag_guess() |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
742 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
743 \ "func1\tXfoo\t/^int func1(int x)/", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
744 \ "func2\tXfoo\t/^int func2(int y)/", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
745 \ "func3\tXfoo\t/^func3/", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
746 \ "func4\tXfoo\t/^func4/"], |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
747 \ 'Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
748 set tags=Xtags |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
749 let code =<< trim [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
750 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
751 int FUNC1 (int x) { } |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
752 int |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
753 func2 (int y) { } |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
754 int * func3 () { } |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
755 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
756 [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
757 call writefile(code, 'Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
758 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
759 let v:statusmsg = '' |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
760 ta func1 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
761 call assert_match('E435:', v:statusmsg) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
762 call assert_equal(2, line('.')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
763 let v:statusmsg = '' |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
764 ta func2 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
765 call assert_match('E435:', v:statusmsg) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
766 call assert_equal(4, line('.')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
767 let v:statusmsg = '' |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
768 ta func3 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
769 call assert_match('E435:', v:statusmsg) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
770 call assert_equal(5, line('.')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
771 call assert_fails('ta func4', 'E434:') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
772 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
773 call delete('Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
774 call delete('Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
775 set tags& |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
776 endfunc |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
777 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
778 " Test for an unsorted tags file |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
779 func Test_tag_sort() |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
780 call writefile([ |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
781 \ "first\tXfoo\t1", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
782 \ "ten\tXfoo\t3", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
783 \ "six\tXfoo\t2"], |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
784 \ 'Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
785 set tags=Xtags |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
786 let code =<< trim [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
787 int first() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
788 int six() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
789 int ten() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
790 [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
791 call writefile(code, 'Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
792 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
793 call assert_fails('tag first', 'E432:') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
794 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
795 call delete('Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
796 call delete('Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
797 set tags& |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
798 %bwipe |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
799 endfunc |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
800 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
801 " Test for an unsorted tags file |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
802 func Test_tag_fold() |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
803 call writefile([ |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
804 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
805 \ "!_TAG_FILE_SORTED\t2\t/0=unsorted, 1=sorted, 2=foldcase/", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
806 \ "first\tXfoo\t1", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
807 \ "second\tXfoo\t2", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
808 \ "third\tXfoo\t3"], |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
809 \ 'Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
810 set tags=Xtags |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
811 let code =<< trim [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
812 int first() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
813 int second() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
814 int third() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
815 [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
816 call writefile(code, 'Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
817 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
818 enew |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
819 tag second |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
820 call assert_equal('Xfoo', bufname('')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
821 call assert_equal(2, line('.')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
822 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
823 call delete('Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
824 call delete('Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
825 set tags& |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
826 %bwipe |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
827 endfunc |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
828 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
829 " Test for the :ltag command |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
830 func Test_ltag() |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
831 call writefile([ |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
832 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
833 \ "first\tXfoo\t1", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
834 \ "second\tXfoo\t/^int second() {}$/", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
835 \ "third\tXfoo\t3"], |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
836 \ 'Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
837 set tags=Xtags |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
838 let code =<< trim [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
839 int first() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
840 int second() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
841 int third() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
842 [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
843 call writefile(code, 'Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
844 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
845 enew |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
846 call setloclist(0, [], 'f') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
847 ltag third |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
848 call assert_equal('Xfoo', bufname('')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
849 call assert_equal(3, line('.')) |
24964
f4aa891a5ab8
patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents:
22476
diff
changeset
|
850 call assert_equal([{'lnum': 3, 'end_lnum': 0, 'bufnr': bufnr('Xfoo'), |
f4aa891a5ab8
patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents:
22476
diff
changeset
|
851 \ 'col': 0, 'end_col': 0, 'pattern': '', 'valid': 1, 'vcol': 0, |
f4aa891a5ab8
patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents:
22476
diff
changeset
|
852 \ 'nr': 0, 'type': '', 'module': '', 'text': 'third'}], getloclist(0)) |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
853 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
854 ltag second |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
855 call assert_equal(2, line('.')) |
24964
f4aa891a5ab8
patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents:
22476
diff
changeset
|
856 call assert_equal([{'lnum': 0, 'end_lnum': 0, 'bufnr': bufnr('Xfoo'), |
f4aa891a5ab8
patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents:
22476
diff
changeset
|
857 \ 'col': 0, 'end_col': 0, 'pattern': '^\Vint second() {}\$', |
f4aa891a5ab8
patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents:
22476
diff
changeset
|
858 \ 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'module': '', |
f4aa891a5ab8
patch 8.2.3019: location list only has the start position.
Bram Moolenaar <Bram@vim.org>
parents:
22476
diff
changeset
|
859 \ 'text': 'second'}], getloclist(0)) |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
860 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
861 call delete('Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
862 call delete('Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
863 set tags& |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
864 %bwipe |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
865 endfunc |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
866 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
867 " Test for setting the last search pattern to the tag search pattern |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
868 " when cpoptions has 't' |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
869 func Test_tag_last_search_pat() |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
870 call writefile([ |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
871 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
872 \ "first\tXfoo\t/^int first() {}/", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
873 \ "second\tXfoo\t/^int second() {}/", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
874 \ "third\tXfoo\t/^int third() {}/"], |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
875 \ 'Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
876 set tags=Xtags |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
877 let code =<< trim [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
878 int first() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
879 int second() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
880 int third() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
881 [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
882 call writefile(code, 'Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
883 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
884 enew |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
885 let save_cpo = &cpo |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
886 set cpo+=t |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
887 let @/ = '' |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
888 tag second |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
889 call assert_equal('^int second() {}', @/) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
890 let &cpo = save_cpo |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
891 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
892 call delete('Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
893 call delete('Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
894 set tags& |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
895 %bwipe |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
896 endfunc |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
897 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
898 " Tag stack tests |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
899 func Test_tag_stack() |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
900 let l = [] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
901 for i in range(10, 31) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
902 let l += ["var" .. i .. "\tXfoo\t/^int var" .. i .. ";$/"] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
903 endfor |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
904 call writefile(l, 'Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
905 set tags=Xtags |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
906 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
907 let l = [] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
908 for i in range(10, 31) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
909 let l += ["int var" .. i .. ";"] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
910 endfor |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
911 call writefile(l, 'Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
912 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
913 " Jump to a tag when the tag stack is full. Oldest entry should be removed. |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
914 enew |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
915 for i in range(10, 30) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
916 exe "tag var" .. i |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
917 endfor |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
918 let l = gettagstack() |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
919 call assert_equal(20, l.length) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
920 call assert_equal('var11', l.items[0].tagname) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
921 tag var31 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
922 let l = gettagstack() |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
923 call assert_equal('var12', l.items[0].tagname) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
924 call assert_equal('var31', l.items[19].tagname) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
925 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
926 " Use tnext with a single match |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
927 call assert_fails('tnext', 'E427:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
928 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
929 " Jump to newest entry from the top of the stack |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
930 call assert_fails('tag', 'E556:') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
931 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
932 " Pop with zero count from the top of the stack |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
933 call assert_fails('0pop', 'E556:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
934 |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
935 " Pop from an unsaved buffer |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
936 enew! |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
937 call append(1, "sample text") |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
938 call assert_fails('pop', 'E37:') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
939 call assert_equal(21, gettagstack().curidx) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
940 enew! |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
941 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
942 " Pop all the entries in the tag stack |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
943 call assert_fails('30pop', 'E555:') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
944 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
945 " Pop with a count when already at the bottom of the stack |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
946 call assert_fails('exe "normal 4\<C-T>"', 'E555:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
947 call assert_equal(1, gettagstack().curidx) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
948 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
949 " Jump to newest entry from the bottom of the stack with zero count |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
950 call assert_fails('0tag', 'E555:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
951 |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
952 " Pop the tag stack when it is empty |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
953 call settagstack(1, {'items' : []}) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
954 call assert_fails('pop', 'E73:') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
955 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
956 call delete('Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
957 call delete('Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
958 set tags& |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
959 %bwipe |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
960 endfunc |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
961 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
962 " Test for browsing multiple matching tags |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
963 func Test_tag_multimatch() |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
964 call writefile([ |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
965 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
966 \ "first\tXfoo\t1", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
967 \ "first\tXfoo\t2", |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
968 \ "first\tXfoo\t3"], |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
969 \ 'Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
970 set tags=Xtags |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
971 let code =<< trim [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
972 int first() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
973 int first() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
974 int first() {} |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
975 [CODE] |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
976 call writefile(code, 'Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
977 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
978 call settagstack(1, {'items' : []}) |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
979 tag first |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
980 tlast |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
981 call assert_equal(3, line('.')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
982 call assert_fails('tnext', 'E428:') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
983 tfirst |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
984 call assert_equal(1, line('.')) |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
985 call assert_fails('tprev', 'E425:') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
986 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
987 tlast |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
988 call feedkeys("5\<CR>", 't') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
989 tselect first |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
990 call assert_equal(2, gettagstack().curidx) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
991 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
992 set ignorecase |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
993 tag FIRST |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
994 tnext |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
995 call assert_equal(2, line('.')) |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
996 tlast |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
997 tprev |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
998 call assert_equal(2, line('.')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
999 tNext |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1000 call assert_equal(1, line('.')) |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1001 set ignorecase& |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1002 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1003 call delete('Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1004 call delete('Xfoo') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1005 set tags& |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1006 %bwipe |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1007 endfunc |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1008 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1009 " Test for previewing multiple matching tags |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1010 func Test_preview_tag_multimatch() |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1011 call writefile([ |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1012 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1013 \ "first\tXfoo\t1", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1014 \ "first\tXfoo\t2", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1015 \ "first\tXfoo\t3"], |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1016 \ 'Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1017 set tags=Xtags |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1018 let code =<< trim [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1019 int first() {} |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1020 int first() {} |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1021 int first() {} |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1022 [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1023 call writefile(code, 'Xfoo') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1024 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1025 enew | only |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1026 ptag first |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1027 ptlast |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1028 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1029 call assert_equal(3, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1030 wincmd w |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1031 call assert_fails('ptnext', 'E428:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1032 ptprev |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1033 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1034 call assert_equal(2, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1035 wincmd w |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1036 ptfirst |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1037 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1038 call assert_equal(1, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1039 wincmd w |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1040 call assert_fails('ptprev', 'E425:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1041 ptnext |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1042 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1043 call assert_equal(2, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1044 wincmd w |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1045 ptlast |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1046 call feedkeys("5\<CR>", 't') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1047 ptselect first |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1048 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1049 call assert_equal(3, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1050 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1051 pclose |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1052 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1053 call delete('Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1054 call delete('Xfoo') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1055 set tags& |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1056 %bwipe |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1057 endfunc |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1058 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1059 " Test for jumping to multiple matching tags across multiple :tags commands |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1060 func Test_tnext_multimatch() |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1061 call writefile([ |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1062 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1063 \ "first\tXfoo1\t1", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1064 \ "first\tXfoo2\t1", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1065 \ "first\tXfoo3\t1"], |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1066 \ 'Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1067 set tags=Xtags |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1068 let code =<< trim [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1069 int first() {} |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1070 [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1071 call writefile(code, 'Xfoo1') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1072 call writefile(code, 'Xfoo2') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1073 call writefile(code, 'Xfoo3') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1074 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1075 tag first |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1076 tag first |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1077 pop |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1078 tnext |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1079 tnext |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1080 call assert_fails('tnext', 'E428:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1081 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1082 call delete('Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1083 call delete('Xfoo1') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1084 call delete('Xfoo2') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1085 call delete('Xfoo3') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1086 set tags& |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1087 %bwipe |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1088 endfunc |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1089 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1090 " Test for jumping to multiple matching tags in non-existing files |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1091 func Test_multimatch_non_existing_files() |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1092 call writefile([ |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1093 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1094 \ "first\tXfoo1\t1", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1095 \ "first\tXfoo2\t1", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1096 \ "first\tXfoo3\t1"], |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1097 \ 'Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1098 set tags=Xtags |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1099 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1100 call settagstack(1, {'items' : []}) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1101 call assert_fails('tag first', 'E429:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1102 call assert_equal(3, gettagstack().items[0].matchnr) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1103 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1104 call delete('Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1105 set tags& |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1106 %bwipe |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1107 endfunc |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1108 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1109 func Test_tselect_listing() |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1110 call writefile([ |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1111 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1112 \ "first\tXfoo\t1" .. ';"' .. "\tv\ttyperef:typename:int\tfile:", |
20941
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1113 \ "first\tXfoo\t2" .. ';"' .. "\tkind:v\ttyperef:typename:char\tfile:"], |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1114 \ 'Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1115 set tags=Xtags |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1116 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1117 let code =<< trim [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1118 static int first; |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1119 static char first; |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1120 [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1121 call writefile(code, 'Xfoo') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1122 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1123 call feedkeys("\<CR>", "t") |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1124 let l = split(execute("tselect first"), "\n") |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1125 let expected =<< [DATA] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1126 # pri kind tag file |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1127 1 FS v first Xfoo |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1128 typeref:typename:int |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1129 1 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1130 2 FS v first Xfoo |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1131 typeref:typename:char |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1132 2 |
20796
8b775cd23555
patch 8.2.0950: tagjump test fails
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
1133 Type number and <Enter> (q or empty cancels): |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1134 [DATA] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1135 call assert_equal(expected, l) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1136 |
19055
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
1137 call delete('Xtags') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
1138 call delete('Xfoo') |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
1139 set tags& |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
1140 %bwipe |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
1141 endfunc |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
1142 |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1143 " Test for :isearch, :ilist, :ijump and :isplit commands |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1144 " Test for [i, ]i, [I, ]I, [ CTRL-I, ] CTRL-I and CTRL-W i commands |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1145 func Test_inc_search() |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1146 new |
22476
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1147 call setline(1, ['1:foo', '2:foo', 'foo', '3:foo', '4:foo', '===']) |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1148 call cursor(3, 1) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1149 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1150 " Test for [i and ]i |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1151 call assert_equal('1:foo', execute('normal [i')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1152 call assert_equal('2:foo', execute('normal 2[i')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1153 call assert_fails('normal 3[i', 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1154 call assert_equal('3:foo', execute('normal ]i')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1155 call assert_equal('4:foo', execute('normal 2]i')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1156 call assert_fails('normal 3]i', 'E389:') |
22476
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1157 call assert_fails('normal G]i', 'E349:') |
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1158 call assert_fails('normal [i', 'E349:') |
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1159 call cursor(3, 1) |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1160 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1161 " Test for :isearch |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1162 call assert_equal('1:foo', execute('isearch foo')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1163 call assert_equal('3:foo', execute('isearch 4 /foo/')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1164 call assert_fails('isearch 3 foo', 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1165 call assert_equal('3:foo', execute('+1,$isearch foo')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1166 call assert_fails('1,.-1isearch 3 foo', 'E389:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1167 call assert_fails('isearch bar', 'E389:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1168 call assert_fails('isearch /foo/3', 'E488:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1169 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1170 " Test for [I and ]I |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1171 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1172 \ ' 1: 1 1:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1173 \ ' 2: 2 2:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1174 \ ' 3: 3 foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1175 \ ' 4: 4 3:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1176 \ ' 5: 5 4:foo'], split(execute('normal [I'), "\n")) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1177 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1178 \ ' 1: 4 3:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1179 \ ' 2: 5 4:foo'], split(execute('normal ]I'), "\n")) |
22476
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1180 call assert_fails('normal G]I', 'E349:') |
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1181 call assert_fails('normal [I', 'E349:') |
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1182 call cursor(3, 1) |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1183 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1184 " Test for :ilist |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1185 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1186 \ ' 1: 1 1:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1187 \ ' 2: 2 2:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1188 \ ' 3: 3 foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1189 \ ' 4: 4 3:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1190 \ ' 5: 5 4:foo'], split(execute('ilist foo'), "\n")) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1191 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1192 \ ' 1: 4 3:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1193 \ ' 2: 5 4:foo'], split(execute('+1,$ilist /foo/'), "\n")) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1194 call assert_fails('ilist bar', 'E389:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1195 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1196 " Test for [ CTRL-I and ] CTRL-I |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1197 exe "normal [\t" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1198 call assert_equal([1, 3], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1199 exe "normal 2j4[\t" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1200 call assert_equal([4, 3], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1201 call assert_fails("normal k3[\t", 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1202 call assert_fails("normal 6[\t", 'E389:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1203 exe "normal ]\t" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1204 call assert_equal([4, 3], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1205 exe "normal k2]\t" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1206 call assert_equal([5, 3], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1207 call assert_fails("normal 2k3]\t", 'E389:') |
22476
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1208 call assert_fails("normal G[\t", 'E349:') |
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1209 call assert_fails("normal ]\t", 'E349:') |
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1210 call cursor(3, 1) |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1211 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1212 " Test for :ijump |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1213 call cursor(3, 1) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1214 ijump foo |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1215 call assert_equal([1, 3], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1216 call cursor(3, 1) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1217 ijump 4 /foo/ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1218 call assert_equal([4, 3], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1219 call cursor(3, 1) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1220 call assert_fails('ijump 3 foo', 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1221 +,$ijump 2 foo |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1222 call assert_equal([5, 3], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1223 call assert_fails('ijump bar', 'E389:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1224 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1225 " Test for CTRL-W i |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1226 call cursor(3, 1) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1227 wincmd i |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1228 call assert_equal([1, 3, 3], [line('.'), col('.'), winnr('$')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1229 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1230 5wincmd i |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1231 call assert_equal([5, 3, 3], [line('.'), col('.'), winnr('$')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1232 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1233 call assert_fails('3wincmd i', 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1234 call assert_fails('6wincmd i', 'E389:') |
22476
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1235 call assert_fails("normal G\<C-W>i", 'E349:') |
b3751f4d3b26
patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
22375
diff
changeset
|
1236 call cursor(3, 1) |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1237 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1238 " Test for :isplit |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1239 isplit foo |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1240 call assert_equal([1, 3, 3], [line('.'), col('.'), winnr('$')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1241 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1242 isplit 5 /foo/ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1243 call assert_equal([5, 3, 3], [line('.'), col('.'), winnr('$')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1244 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1245 call assert_fails('isplit 3 foo', 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1246 call assert_fails('isplit 6 foo', 'E389:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1247 call assert_fails('isplit bar', 'E389:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1248 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1249 close! |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1250 endfunc |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1251 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1252 " Test for :dsearch, :dlist, :djump and :dsplit commands |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1253 " Test for [d, ]d, [D, ]D, [ CTRL-D, ] CTRL-D and CTRL-W d commands |
19625
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1254 func Test_macro_search() |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1255 new |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1256 call setline(1, ['#define FOO 1', '#define FOO 2', '#define FOO 3', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1257 \ '#define FOO 4', '#define FOO 5']) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1258 call cursor(3, 9) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1259 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1260 " Test for [d and ]d |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1261 call assert_equal('#define FOO 1', execute('normal [d')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1262 call assert_equal('#define FOO 2', execute('normal 2[d')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1263 call assert_fails('normal 3[d', 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1264 call assert_equal('#define FOO 4', execute('normal ]d')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1265 call assert_equal('#define FOO 5', execute('normal 2]d')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1266 call assert_fails('normal 3]d', 'E388:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1267 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1268 " Test for :dsearch |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1269 call assert_equal('#define FOO 1', execute('dsearch FOO')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1270 call assert_equal('#define FOO 5', execute('dsearch 5 /FOO/')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1271 call assert_fails('dsearch 3 FOO', 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1272 call assert_equal('#define FOO 4', execute('+1,$dsearch FOO')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1273 call assert_fails('1,.-1dsearch 3 FOO', 'E388:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1274 call assert_fails('dsearch BAR', 'E388:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1275 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1276 " Test for [D and ]D |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1277 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1278 \ ' 1: 1 #define FOO 1', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1279 \ ' 2: 2 #define FOO 2', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1280 \ ' 3: 3 #define FOO 3', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1281 \ ' 4: 4 #define FOO 4', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1282 \ ' 5: 5 #define FOO 5'], split(execute('normal [D'), "\n")) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1283 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1284 \ ' 1: 4 #define FOO 4', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1285 \ ' 2: 5 #define FOO 5'], split(execute('normal ]D'), "\n")) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1286 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1287 " Test for :dlist |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1288 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1289 \ ' 1: 1 #define FOO 1', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1290 \ ' 2: 2 #define FOO 2', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1291 \ ' 3: 3 #define FOO 3', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1292 \ ' 4: 4 #define FOO 4', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1293 \ ' 5: 5 #define FOO 5'], split(execute('dlist FOO'), "\n")) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1294 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1295 \ ' 1: 4 #define FOO 4', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1296 \ ' 2: 5 #define FOO 5'], split(execute('+1,$dlist /FOO/'), "\n")) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1297 call assert_fails('dlist BAR', 'E388:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1298 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1299 " Test for [ CTRL-D and ] CTRL-D |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1300 exe "normal [\<C-D>" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1301 call assert_equal([1, 9], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1302 exe "normal 2j4[\<C-D>" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1303 call assert_equal([4, 9], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1304 call assert_fails("normal k3[\<C-D>", 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1305 call assert_fails("normal 6[\<C-D>", 'E388:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1306 exe "normal ]\<C-D>" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1307 call assert_equal([4, 9], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1308 exe "normal k2]\<C-D>" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1309 call assert_equal([5, 9], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1310 call assert_fails("normal 2k3]\<C-D>", 'E388:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1311 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1312 " Test for :djump |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1313 call cursor(3, 9) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1314 djump FOO |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1315 call assert_equal([1, 9], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1316 call cursor(3, 9) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1317 djump 4 /FOO/ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1318 call assert_equal([4, 9], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1319 call cursor(3, 9) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1320 call assert_fails('djump 3 FOO', 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1321 +,$djump 2 FOO |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1322 call assert_equal([5, 9], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1323 call assert_fails('djump BAR', 'E388:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1324 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1325 " Test for CTRL-W d |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1326 call cursor(3, 9) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1327 wincmd d |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1328 call assert_equal([1, 9, 3], [line('.'), col('.'), winnr('$')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1329 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1330 5wincmd d |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1331 call assert_equal([5, 9, 3], [line('.'), col('.'), winnr('$')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1332 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1333 call assert_fails('3wincmd d', 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1334 call assert_fails('6wincmd d', 'E388:') |
21020
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
1335 new |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
1336 call assert_fails("normal \<C-W>d", 'E349:') |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
1337 call assert_fails("normal \<C-W>\<C-D>", 'E349:') |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20941
diff
changeset
|
1338 close |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1339 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1340 " Test for :dsplit |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1341 dsplit FOO |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1342 call assert_equal([1, 9, 3], [line('.'), col('.'), winnr('$')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1343 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1344 dsplit 5 /FOO/ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1345 call assert_equal([5, 9, 3], [line('.'), col('.'), winnr('$')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1346 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1347 call assert_fails('dsplit 3 FOO', 'E387:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1348 call assert_fails('dsplit 6 FOO', 'E388:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1349 call assert_fails('dsplit BAR', 'E388:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1350 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1351 close! |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1352 endfunc |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1353 |
19625
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1354 " Test for [*, [/, ]* and ]/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1355 func Test_comment_search() |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1356 new |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1357 call setline(1, ['', '/*', ' *', ' *', ' */']) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1358 normal! 4gg[/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1359 call assert_equal([2, 1], [line('.'), col('.')]) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1360 normal! 3gg[* |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1361 call assert_equal([2, 1], [line('.'), col('.')]) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1362 normal! 3gg]/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1363 call assert_equal([5, 3], [line('.'), col('.')]) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1364 normal! 3gg]* |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1365 call assert_equal([5, 3], [line('.'), col('.')]) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1366 %d |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1367 call setline(1, ['', '/*', ' *', ' *']) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1368 call assert_beeps('normal! 3gg]/') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1369 %d |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1370 call setline(1, ['', ' *', ' *', ' */']) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1371 call assert_beeps('normal! 4gg[/') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1372 %d |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1373 call setline(1, ' /* comment */') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1374 normal! 15|[/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1375 call assert_equal(9, col('.')) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1376 normal! 15|]/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1377 call assert_equal(21, col('.')) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1378 call setline(1, ' comment */') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1379 call assert_beeps('normal! 15|[/') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1380 call setline(1, ' /* comment') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1381 call assert_beeps('normal! 15|]/') |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1382 close! |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1383 endfunc |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1384 |
20893
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1385 " Test for the 'taglength' option |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1386 func Test_tag_length() |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1387 set tags=Xtags |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1388 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1389 \ "tame\tXfile1\t1;", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1390 \ "tape\tXfile2\t1;"], 'Xtags') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1391 call writefile(['tame'], 'Xfile1') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1392 call writefile(['tape'], 'Xfile2') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1393 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1394 " Jumping to the tag 'tape', should instead jump to 'tame' |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1395 new |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1396 set taglength=2 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1397 tag tape |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1398 call assert_equal('Xfile1', @%) |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1399 " Tag search should jump to the right tag |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1400 enew |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1401 tag /^tape$ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1402 call assert_equal('Xfile2', @%) |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1403 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1404 call delete('Xtags') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1405 call delete('Xfile1') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1406 call delete('Xfile2') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1407 set tags& taglength& |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1408 endfunc |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1409 |
20941
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1410 " Tests for errors in a tags file |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1411 func Test_tagfile_errors() |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1412 set tags=Xtags |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1413 |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1414 " missing search pattern or line number for a tag |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1415 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1416 \ "foo\tXfile\t"], 'Xtags', 'b') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1417 call writefile(['foo'], 'Xfile') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1418 |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1419 enew |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1420 tag foo |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1421 call assert_equal('', @%) |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1422 let caught_431 = v:false |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1423 try |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1424 eval taglist('.*') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1425 catch /:E431:/ |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1426 let caught_431 = v:true |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1427 endtry |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1428 call assert_equal(v:true, caught_431) |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1429 |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1430 call delete('Xtags') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1431 call delete('Xfile') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1432 set tags& |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1433 endfunc |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1434 |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1435 " When :stag fails to open the file, should close the new window |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1436 func Test_stag_close_window_on_error() |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1437 new | only |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1438 set tags=Xtags |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1439 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//", |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1440 \ "foo\tXfile\t1"], 'Xtags') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1441 call writefile(['foo'], 'Xfile') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1442 call writefile([], '.Xfile.swp') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1443 " Remove the catch-all that runtest.vim adds |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1444 au! SwapExists |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1445 augroup StagTest |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1446 au! |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1447 autocmd SwapExists Xfile let v:swapchoice='q' |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1448 augroup END |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1449 |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1450 stag foo |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1451 call assert_equal(1, winnr('$')) |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1452 call assert_equal('', @%) |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1453 |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1454 augroup StagTest |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1455 au! |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1456 augroup END |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1457 call delete('Xfile') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1458 call delete('.Xfile.swp') |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1459 set tags& |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1460 endfunc |
505d97ea54da
patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
20893
diff
changeset
|
1461 |
9909
3ee84d270ea7
commit https://github.com/vim/vim/commit/9e4d8215d386100ab660d7d11e6620fd148b605e
Christian Brabandt <cb@256bit.org>
parents:
9228
diff
changeset
|
1462 " vim: shiftwidth=2 sts=2 expandtab |