Mercurial > vim
annotate src/testdir/test_tagjump.vim @ 20893:c78689fa0633 v8.2.0998
patch 8.2.0998: not all tag code is tested
Commit: https://github.com/vim/vim/commit/3d9207ad2fc98b4f92f77b5a3d52a3a4d25b9561
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jun 17 22:58:35 2020 +0200
patch 8.2.0998: not all tag code is tested
Problem: Not all tag code is tested.
Solution: Add a few more test cases. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/6284)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 17 Jun 2020 23:00:03 +0200 |
parents | 8b775cd23555 |
children | 505d97ea54da |
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 |
42c8599421e5
commit https://github.com/vim/vim/commit/8d8aa0a367380f23f0af428fcb66a1a0615bf872
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 call assert_fails('ptag does_not_exist_tag_name', 'E426') |
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 |
9949
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
15 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
|
16 CheckFeature quickfix |
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18640
diff
changeset
|
17 |
9949
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
18 set tags=Xtags |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
19 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
|
20 \ "word\tfile1\tcmd1", |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
21 \ "word\tfile2\tcmd2"], |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
22 \ 'Xtags') |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
23 |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
24 only! |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
25 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
|
26 help |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
27 call assert_equal(2, winnr('$')) |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
28 |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
29 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
|
30 set tags& |
9949
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
31 quit |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
32 endfunc |
30be4b26a37e
commit https://github.com/vim/vim/commit/358308dd99abdd56c6540339e505585d8db7bdfe
Christian Brabandt <cb@256bit.org>
parents:
9909
diff
changeset
|
33 |
10611
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
34 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
|
35 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
|
36 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
|
37 \ "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
|
38 \ "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
|
39 \ 'Xtags') |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
40 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
|
41 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
|
42 write |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
43 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
|
44 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
|
45 |
11008
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
46 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
|
47 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
|
48 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
|
49 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
|
50 endfunc |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
51 |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
52 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
|
53 set tags=Xtags |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
54 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
|
55 \ "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
|
56 \ "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
|
57 \ "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
|
58 \ ], |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
59 \ 'Xtags') |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
60 new Xfile1 |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
61 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
|
62 write |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
63 tag thesame |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
64 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
|
65 tnext |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
66 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
|
67 tnext |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
68 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
|
69 |
10611
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
70 bwipe! |
11008
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
71 set tags& |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
72 call delete('Xtags') |
0ecd07cd2e43
patch 8.0.0393: order of duplicate tags is not preserved
Christian Brabandt <cb@256bit.org>
parents:
10611
diff
changeset
|
73 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
|
74 endfunc |
6bff81438f27
patch 8.0.0195: fail to jump to static tag in current file
Christian Brabandt <cb@256bit.org>
parents:
10145
diff
changeset
|
75 |
11476
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
76 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
|
77 CheckFeature quickfix |
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18640
diff
changeset
|
78 |
11476
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
79 set tags=Xtags |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
80 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
|
81 \ "second\tXfile1\t2", |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
82 \ "third\tXfile1\t3",], |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
83 \ 'Xtags') |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
84 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
|
85 |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
86 enew | only |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
87 set switchbuf= |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
88 stag second |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
89 call assert_equal(2, winnr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
90 call assert_equal(2, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
91 stag third |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
92 call assert_equal(3, winnr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
93 call assert_equal(3, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
94 |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
95 enew | only |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
96 set switchbuf=useopen |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
97 stag second |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
98 call assert_equal(2, winnr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
99 call assert_equal(2, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
100 stag third |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
101 call assert_equal(2, winnr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
102 call assert_equal(3, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
103 |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
104 enew | only |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
105 set switchbuf=usetab |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
106 tab stag second |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
107 call assert_equal(2, tabpagenr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
108 call assert_equal(2, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
109 1tabnext | stag third |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
110 call assert_equal(2, tabpagenr('$')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
111 call assert_equal(3, line('.')) |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
112 |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
113 tabclose! |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
114 enew | only |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
115 call delete('Xfile1') |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
116 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
|
117 set tags& |
11476
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
118 set switchbuf&vim |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
119 endfunc |
c45fb081391c
patch 8.0.0621: :stag does not respect 'switchbuf'
Christian Brabandt <cb@256bit.org>
parents:
11008
diff
changeset
|
120 |
10145
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
121 " 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
|
122 function Test_keyword_jump() |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
123 call writefile(["#include Xinclude", "", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
124 \ "", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
125 \ "/* test text test tex start here", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
126 \ " some text", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
127 \ " test text", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
128 \ " start OK if found this line", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
129 \ " start found wrong line", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
130 \ "test text"], 'Xtestfile') |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
131 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
|
132 \ " some text", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
133 \ " test text", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
134 \ " start OK if found this line", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
135 \ " start found wrong line", |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
136 \ "test text"], 'Xinclude') |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
137 new Xtestfile |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
138 call cursor(1,1) |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
139 call search("start") |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
140 exe "normal! 5[\<C-I>" |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
141 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
|
142 call cursor(1,1) |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
143 call search("start") |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
144 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
|
145 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
|
146 enew! | only |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
147 call delete('Xtestfile') |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
148 call delete('Xinclude') |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
149 endfunction |
eb9a7296ae9f
commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
9949
diff
changeset
|
150 |
12686
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
151 " 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
|
152 " 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
|
153 func Test_tag_symbolic() |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
154 if !has('unix') |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
155 return |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
156 endif |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
157 set hidden |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
158 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
|
159 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
|
160 " 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
|
161 call writefile([ |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
162 \ "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
|
163 \ '', |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
164 \ ], 'Xtags') |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
165 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
|
166 \ '#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
|
167 |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
168 " 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
|
169 " 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
|
170 " 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
|
171 set tags=Xtags |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
172 enew! |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
173 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
|
174 call cursor(1,1) |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
175 exe "normal \<C-]> " |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
176 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
|
177 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
|
178 |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
179 set hidden& |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
180 set tags& |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
181 enew! |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
182 call delete('Xtags') |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
183 call delete('Xtest.c') |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
184 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
|
185 %bwipe! |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
186 endfunc |
aa658b33f25a
patch 8.0.1221: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
11476
diff
changeset
|
187 |
12750
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
188 " 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
|
189 " 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
|
190 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
|
191 if has('vms') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
192 return |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
193 endif |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
194 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
195 if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21" |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
196 return |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
197 endif |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
198 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
199 let save_enc = &encoding |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
200 set encoding=utf8 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
201 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
202 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
|
203 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
|
204 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
|
205 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
|
206 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
|
207 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
|
208 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
|
209 call writefile(content, 'Xtags1') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
210 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
211 " case1: |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
212 new |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
213 set tags=Xtags1 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
214 tag abcdefghijklmnopqrs |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
215 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
|
216 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
|
217 close |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
218 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
219 " case2: |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
220 new |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
221 set tags=test83-tags2 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
222 tag /.BC |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
223 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
|
224 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
|
225 close |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
226 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
227 " case3: |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
228 new |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
229 set tags=test83-tags3 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
230 tag abc50 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
231 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
|
232 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
|
233 close |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
234 |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
235 set tags& |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
236 let &encoding = save_enc |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
237 call delete('Xtags1.txt') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
238 call delete('Xtags2.txt') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
239 call delete('Xtags3.txt') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
240 call delete('Xtags1') |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
241 endfunc |
0b6c09957b43
patch 8.0.1253: still too many old style tests
Christian Brabandt <cb@256bit.org>
parents:
12686
diff
changeset
|
242 |
13227
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
243 func Test_tagjump_etags() |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
244 if !has('emacs_tags') |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
245 return |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
246 endif |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
247 call writefile([ |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
248 \ "void foo() {}", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
249 \ "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
|
250 \ "{", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
251 \ "\tfoo();", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
252 \ "\treturn 0;", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
253 \ "}", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
254 \ ], 'Xmain.c') |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
255 |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
256 call writefile([ |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
257 \ "\x0c", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
258 \ "Xmain.c,64", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
259 \ "void foo() {}\x7ffoo\x011,0", |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
260 \ "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
|
261 \ ], 'Xtags') |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
262 set tags=Xtags |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
263 ta foo |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
264 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
|
265 |
20893
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
266 " 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
|
267 call writefile([ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
268 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
269 \ "Xmain.c,64", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
270 \ "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
|
271 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
272 \ "Xnonexisting,include", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
273 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
274 \ "Xtags2,include" |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
275 \ ], 'Xtags') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
276 call writefile([ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
277 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
278 \ "Xmain.c,64", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
279 \ "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
|
280 \ ], 'Xtags2') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
281 tag main |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
282 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
|
283 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
284 " corrupted tag line |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
285 call writefile([ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
286 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
287 \ "Xmain.c,8", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
288 \ "int main" |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
289 \ ], 'Xtags', 'b') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
290 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
|
291 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
292 " invalid line number |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
293 call writefile([ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
294 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
295 \ "Xmain.c,64", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
296 \ "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
|
297 \ ], 'Xtags') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
298 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
|
299 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
300 " invalid tag name |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
301 call writefile([ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
302 \ "\x0c", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
303 \ "Xmain.c,64", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
304 \ ";;;;\x7f1,0", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
305 \ ], 'Xtags') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
306 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
|
307 |
13227
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
308 call delete('Xtags') |
20893
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
309 call delete('Xtags2') |
13227
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
310 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
|
311 set tags& |
13227
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
312 bwipe! |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
313 endfunc |
b88fa651c824
patch 8.0.1488: emacs tags no longer work
Christian Brabandt <cb@256bit.org>
parents:
12750
diff
changeset
|
314 |
15016
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
315 " 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
|
316 func Test_getsettagstack() |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
317 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
|
318 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
|
319 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
|
320 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
321 enew | only |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
322 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
|
323 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
|
324 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
|
325 " Error cases |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
326 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
|
327 call assert_equal(-1, settagstack(100, {'items' : []})) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
328 call assert_fails('call settagstack(1, [1, 10])', 'E715') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
329 call assert_fails("call settagstack(1, {'items' : 10})", 'E714') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
330 call assert_fails("call settagstack(1, {'items' : []}, 10)", 'E928') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
331 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
|
332 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
|
333 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
334 set tags=Xtags |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
335 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
|
336 \ "one\tXfile1\t1", |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
337 \ "three\tXfile3\t3", |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
338 \ "two\tXfile2\t2"], |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
339 \ 'Xtags') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
340 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
341 let stk = [] |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
342 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
|
343 \ '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
|
344 tag one |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
345 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
|
346 \ '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
|
347 tag two |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
348 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
|
349 \ '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
|
350 tag three |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
351 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
|
352 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
|
353 " 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
|
354 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
|
355 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
|
356 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
357 " 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
|
358 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
|
359 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
|
360 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
|
361 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
|
362 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
363 " 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
|
364 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
|
365 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
|
366 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
|
367 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
|
368 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
|
369 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
|
370 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
|
371 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
|
372 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
|
373 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
|
374 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
|
375 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
|
376 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
|
377 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
378 " 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
|
379 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
|
380 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
|
381 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
|
382 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
|
383 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
|
384 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
|
385 \ gettagstack(1)) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
386 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
387 " 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
|
388 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
|
389 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
|
390 endfor |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
391 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
|
392 call settagstack(1, |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
393 \ {'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
|
394 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
|
395 |
19033
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
396 " truncate the tag stack |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
397 call settagstack(1, |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
398 \ {'curidx' : 9, |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
399 \ '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
|
400 let t = gettagstack() |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
401 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
|
402 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
|
403 |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
404 " 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
|
405 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
|
406 let t = gettagstack() |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
407 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
|
408 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
|
409 |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
410 " 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
|
411 call settagstack(1, {'items' : []}) |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
412 call settagstack(1, |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
413 \ {'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
|
414 let t = gettagstack() |
f0312cf3c792
patch 8.2.0077: settagstack() cannot truncate at current index
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
415 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
|
416 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
|
417 |
15016
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
418 " 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
|
419 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
|
420 \ "two\tXfile1\t1", |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
421 \ "two\tXfile2\t3", |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
422 \ "two\tXfile3\t2"], |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
423 \ 'Xtags') |
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' : []}) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
425 tag two |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
426 tnext |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
427 tnext |
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(1, gettagstack().length) |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
429 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
|
430 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
431 " Memory allocation failures |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
432 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
|
433 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
|
434 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
|
435 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
|
436 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
|
437 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
|
438 |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
439 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
|
440 call delete('Xfile1') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
441 call delete('Xfile2') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
442 call delete('Xfile3') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
443 call delete('Xtags') |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
444 set tags& |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
445 endfunc |
c338c91086b9
patch 8.1.0519: cannot save and restore the tag stack
Bram Moolenaar <Bram@vim.org>
parents:
13227
diff
changeset
|
446 |
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
|
447 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
|
448 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
|
449 \ '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
|
450 \ ], '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
|
451 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
|
452 \ '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
|
453 \ '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
|
454 \ ], '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
|
455 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
|
456 \ '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
|
457 \ '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
|
458 \ ], '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
|
459 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
|
460 \ '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
|
461 \ ], '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
|
462 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
|
463 |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
464 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
|
465 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
|
466 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
|
467 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
|
468 |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
469 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
|
470 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
|
471 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
|
472 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
|
473 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
|
474 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
|
475 |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
476 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
|
477 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
|
478 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
|
479 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
|
480 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
|
481 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
|
482 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
|
483 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
|
484 |
213b88f89597
patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Bram Moolenaar <Bram@vim.org>
parents:
15016
diff
changeset
|
485 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
|
486 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
|
487 \ '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
|
488 \ '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
|
489 \ '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
|
490 \ ], '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
|
491 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
|
492 \ '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
|
493 \ '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
|
494 \ ], '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
|
495 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
|
496 \ '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
|
497 \ ], '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
|
498 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
|
499 |
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 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
|
501 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
|
502 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
|
503 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
|
504 |
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 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
|
506 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
|
507 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
|
508 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
|
509 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
|
510 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
|
511 |
17093
5cda6165a5c1
patch 8.1.1546: in some tests 'tags' is set but not restored
Bram Moolenaar <Bram@vim.org>
parents:
16178
diff
changeset
|
512 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
|
513 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
|
514 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
|
515 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
|
516 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
|
517 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
|
518 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
|
519 |
16178
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
520 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
|
521 call writefile([ |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
522 \ '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
|
523 \ ], 'Xtags') |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
524 set tags=Xtags |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
525 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
|
526 set verbose=5 |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
527 " ":tjump" should give "tag not found" not "Format error in tags file" |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
528 call assert_fails('tj /foo', 'E426') |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
529 try |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
530 tj /foo |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
531 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
|
532 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
|
533 catch /.*/ |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
534 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
|
535 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
|
536 |
16178
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
537 call writefile([ |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
538 \ '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
|
539 \ ], 'Xtags') |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
540 call assert_fails('tj /foo', 'E426') |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
541 try |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
542 tj /foo |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
543 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
|
544 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
|
545 catch /.*/ |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
546 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
|
547 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
|
548 |
90e5812af76b
patch 8.1.2269: tags file with very long line stops using binary search
Bram Moolenaar <Bram@vim.org>
parents:
18297
diff
changeset
|
549 " 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
|
550 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
|
551 \ '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
|
552 \ '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
|
553 \ '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
|
554 \ ], '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
|
555 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
|
556 \ '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
|
557 \ '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
|
558 \ '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
|
559 \ '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
|
560 \ ], '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
|
561 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
|
562 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
|
563 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
|
564 |
16178
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
565 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
|
566 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
|
567 set tags& |
16178
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
568 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
|
569 endfunc |
a8689ea2e869
patch 8.1.1094: long line in tags file causes error
Bram Moolenaar <Bram@vim.org>
parents:
16164
diff
changeset
|
570 |
18293
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
571 " 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
|
572 " 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
|
573 func Test_tselect() |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
574 CheckScreendump |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
575 |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
576 call writefile([ |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
577 \ '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
|
578 \ '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
|
579 \ '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
|
580 \ ], 'Xtags') |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
581 cal writefile([ |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
582 \ 'int main()', |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
583 \ 'void test()', |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
584 \ ], 'Xtest.c') |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
585 |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
586 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
|
587 set tags=Xtags |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
588 [SCRIPT] |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
589 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
|
590 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
|
591 |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
592 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
|
593 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
|
594 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
|
595 |
18297
b0b37bd807ba
patch 8.1.2143: cannot see each command even when 'verbose' is set
Bram Moolenaar <Bram@vim.org>
parents:
18293
diff
changeset
|
596 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
|
597 call delete('Xtags') |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
598 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
|
599 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
|
600 endfunc |
1c5974759bcd
patch 8.1.2141: :tselect has an extra hit-enter prompt
Bram Moolenaar <Bram@vim.org>
parents:
18000
diff
changeset
|
601 |
18640
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
602 func Test_tagline() |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
603 call writefile([ |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
604 \ '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
|
605 \ '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
|
606 \], 'Xtags') |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
607 call writefile([ |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
608 \ ' 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
|
609 \ ' pass', |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
610 \ ' 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
|
611 \ ' pass', |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
612 \], 'Xtest.py') |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
613 |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
614 set tags=Xtags |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
615 |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
616 1tag provision |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
617 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
|
618 2tag provision |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
619 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
|
620 |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
621 call delete('Xtags') |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
622 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
|
623 set tags& |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
624 endfunc |
b9240fe40dd4
patch 8.1.2312: "line:" field in tags file not used
Bram Moolenaar <Bram@vim.org>
parents:
18550
diff
changeset
|
625 |
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
|
626 " 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
|
627 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
|
628 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
|
629 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
|
630 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
631 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
|
632 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
633 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
|
634 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
|
635 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
|
636 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
|
637 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
|
638 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
|
639 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
|
640 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
|
641 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
642 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
|
643 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
|
644 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
|
645 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
|
646 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
647 " Test for :ptag |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
648 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
|
649 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
|
650 \ "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
|
651 \ "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
|
652 \ '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
|
653 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
|
654 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
|
655 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
656 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
|
657 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
|
658 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
|
659 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
|
660 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
|
661 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
|
662 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
|
663 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
|
664 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
665 " jump to the tag again |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
666 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
|
667 ptag third |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
668 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
669 call assert_equal(3, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
670 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
671 " jump to the newer tag |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
672 wincmd w |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
673 ptag |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
674 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
|
675 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
|
676 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
677 " 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
|
678 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
|
679 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
|
680 |
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 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
|
682 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
|
683 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
|
684 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
|
685 |
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 " 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
|
687 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
|
688 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
|
689 \ "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
|
690 \ "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
|
691 \ "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
|
692 \ "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
|
693 \ '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
|
694 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
|
695 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
|
696 |
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 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
|
698 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
|
699 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
|
700 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
|
701 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
702 [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
|
703 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
|
704 |
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 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
|
706 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
|
707 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
|
708 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
|
709 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
|
710 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
|
711 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
|
712 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
|
713 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
|
714 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
|
715 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
|
716 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
|
717 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
|
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 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
|
720 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
|
721 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
|
722 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
|
723 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
724 " 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
|
725 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
|
726 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
|
727 \ "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
|
728 \ "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
|
729 \ "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
|
730 \ '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
|
731 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
|
732 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
|
733 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
|
734 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
|
735 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
|
736 [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
|
737 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
|
738 |
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 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
|
740 |
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 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
|
742 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
|
743 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
|
744 %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
|
745 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
|
746 |
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 " 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
|
748 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
|
749 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
|
750 \ "!_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
|
751 \ "!_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
|
752 \ "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
|
753 \ "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
|
754 \ "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
|
755 \ '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
|
756 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
|
757 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
|
758 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
|
759 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
|
760 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
|
761 [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
|
762 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
|
763 |
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 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
|
765 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
|
766 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
|
767 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
|
768 |
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 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
|
770 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
|
771 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
|
772 %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
|
773 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
|
774 |
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 " 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
|
776 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
|
777 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
|
778 \ "!_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
|
779 \ "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
|
780 \ "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
|
781 \ "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
|
782 \ '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
|
783 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
|
784 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
|
785 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
|
786 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
|
787 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
|
788 [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
|
789 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
|
790 |
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 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
|
792 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
|
793 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
|
794 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
|
795 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
|
796 call assert_equal([{'lnum': 3, 'bufnr': bufnr('Xfoo'), 'col': 0, |
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 \ 'pattern': '', 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', |
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 \ 'module': '', 'text': 'third'}], getloclist(0)) |
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 |
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 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
|
801 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
|
802 call assert_equal([{'lnum': 0, 'bufnr': bufnr('Xfoo'), 'col': 0, |
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 \ 'pattern': '^\Vint second() {}\$', 'valid': 1, 'vcol': 0, 'nr': 0, |
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 \ 'type': '', 'module': '', 'text': 'second'}], getloclist(0)) |
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 |
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 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
|
807 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
|
808 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
|
809 %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
|
810 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
|
811 |
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 " 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
|
813 " 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
|
814 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
|
815 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
|
816 \ "!_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
|
817 \ "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
|
818 \ "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
|
819 \ "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
|
820 \ '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
|
821 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
|
822 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
|
823 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
|
824 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
|
825 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
|
826 [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
|
827 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
|
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 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
|
830 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
|
831 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
|
832 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
|
833 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
|
834 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
|
835 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
|
836 |
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 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
|
838 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
|
839 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
|
840 %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
|
841 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
|
842 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
843 " Tag stack tests |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
844 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
|
845 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
|
846 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
|
847 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
|
848 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
|
849 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
|
850 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
|
851 |
8645b73b3645
patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents:
19033
diff
changeset
|
852 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
|
853 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
|
854 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
|
855 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
|
856 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
|
857 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
858 " 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
|
859 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
|
860 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
|
861 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
|
862 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
|
863 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
|
864 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
|
865 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
|
866 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
|
867 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
|
868 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
|
869 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
|
870 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
871 " Use tnext with a single match |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
872 call assert_fails('tnext', 'E427:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
873 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
874 " 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
|
875 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
|
876 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
877 " 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
|
878 call assert_fails('0pop', 'E556:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
879 |
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
|
880 " 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
|
881 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
|
882 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
|
883 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
|
884 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
|
885 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
|
886 |
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 " 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
|
888 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
|
889 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
890 " 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
|
891 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
|
892 call assert_equal(1, gettagstack().curidx) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
893 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
894 " 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
|
895 call assert_fails('0tag', 'E555:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
896 |
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
|
897 " 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
|
898 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
|
899 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
|
900 |
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 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
|
902 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
|
903 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
|
904 %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
|
905 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
|
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 " 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
|
908 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
|
909 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
|
910 \ "!_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
|
911 \ "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
|
912 \ "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
|
913 \ "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
|
914 \ '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
|
915 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
|
916 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
|
917 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
|
918 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
|
919 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
|
920 [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
|
921 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
|
922 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
923 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
|
924 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
|
925 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
|
926 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
|
927 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
|
928 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
|
929 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
|
930 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
|
931 |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
932 tlast |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
933 call feedkeys("5\<CR>", 't') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
934 tselect first |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
935 call assert_equal(2, gettagstack().curidx) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
936 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
937 set ignorecase |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
938 tag FIRST |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
939 tnext |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
940 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
|
941 tlast |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
942 tprev |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
943 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
|
944 tNext |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
945 call assert_equal(1, line('.')) |
19063
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
946 set ignorecase& |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
947 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
948 call delete('Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
949 call delete('Xfoo') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
950 set tags& |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
951 %bwipe |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
952 endfunc |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
953 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
954 " Test for previewing multiple matching tags |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
955 func Test_preview_tag_multimatch() |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
956 call writefile([ |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
957 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
958 \ "first\tXfoo\t1", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
959 \ "first\tXfoo\t2", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
960 \ "first\tXfoo\t3"], |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
961 \ 'Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
962 set tags=Xtags |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
963 let code =<< trim [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
964 int first() {} |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
965 int first() {} |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
966 int first() {} |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
967 [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
968 call writefile(code, 'Xfoo') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
969 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
970 enew | only |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
971 ptag first |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
972 ptlast |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
973 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
974 call assert_equal(3, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
975 wincmd w |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
976 call assert_fails('ptnext', 'E428:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
977 ptprev |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
978 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
979 call assert_equal(2, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
980 wincmd w |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
981 ptfirst |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
982 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
983 call assert_equal(1, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
984 wincmd w |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
985 call assert_fails('ptprev', 'E425:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
986 ptnext |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
987 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
988 call assert_equal(2, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
989 wincmd w |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
990 ptlast |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
991 call feedkeys("5\<CR>", 't') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
992 ptselect first |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
993 wincmd P |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
994 call assert_equal(3, line('.')) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
995 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
996 pclose |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
997 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
998 call delete('Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
999 call delete('Xfoo') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1000 set tags& |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1001 %bwipe |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1002 endfunc |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1003 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1004 " 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
|
1005 func Test_tnext_multimatch() |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1006 call writefile([ |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1007 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1008 \ "first\tXfoo1\t1", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1009 \ "first\tXfoo2\t1", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1010 \ "first\tXfoo3\t1"], |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1011 \ 'Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1012 set tags=Xtags |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1013 let code =<< trim [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1014 int first() {} |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1015 [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1016 call writefile(code, 'Xfoo1') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1017 call writefile(code, 'Xfoo2') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1018 call writefile(code, 'Xfoo3') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1019 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1020 tag first |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1021 tag first |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1022 pop |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1023 tnext |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1024 tnext |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1025 call assert_fails('tnext', 'E428:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1026 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1027 call delete('Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1028 call delete('Xfoo1') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1029 call delete('Xfoo2') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1030 call delete('Xfoo3') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1031 set tags& |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1032 %bwipe |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1033 endfunc |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1034 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1035 " 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
|
1036 func Test_multimatch_non_existing_files() |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1037 call writefile([ |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1038 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1039 \ "first\tXfoo1\t1", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1040 \ "first\tXfoo2\t1", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1041 \ "first\tXfoo3\t1"], |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1042 \ 'Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1043 set tags=Xtags |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1044 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1045 call settagstack(1, {'items' : []}) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1046 call assert_fails('tag first', 'E429:') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1047 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
|
1048 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1049 call delete('Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1050 set tags& |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1051 %bwipe |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1052 endfunc |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1053 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1054 func Test_tselect_listing() |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1055 call writefile([ |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1056 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1057 \ "first\tXfoo\t1" .. ';"' .. "\tv\ttyperef:typename:int\tfile:", |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1058 \ "first\tXfoo\t2" .. ';"' .. "\tv\ttyperef:typename:char\tfile:"], |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1059 \ 'Xtags') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1060 set tags=Xtags |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1061 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1062 let code =<< trim [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1063 static int first; |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1064 static char first; |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1065 [CODE] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1066 call writefile(code, 'Xfoo') |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1067 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1068 call feedkeys("\<CR>", "t") |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1069 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
|
1070 let expected =<< [DATA] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1071 # pri kind tag file |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1072 1 FS v first Xfoo |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1073 typeref:typename:int |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1074 1 |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1075 2 FS v first Xfoo |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1076 typeref:typename:char |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1077 2 |
20796
8b775cd23555
patch 8.2.0950: tagjump test fails
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
1078 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
|
1079 [DATA] |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1080 call assert_equal(expected, l) |
fdc8deab9b4c
patch 8.2.0092: tags functionality insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19055
diff
changeset
|
1081 |
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
|
1082 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
|
1083 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
|
1084 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
|
1085 %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
|
1086 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
|
1087 |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1088 " 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
|
1089 " 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
|
1090 func Test_inc_search() |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1091 new |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1092 call setline(1, ['1:foo', '2:foo', 'foo', '3:foo', '4:foo']) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1093 call cursor(3, 1) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1094 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1095 " 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
|
1096 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
|
1097 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
|
1098 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
|
1099 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
|
1100 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
|
1101 call assert_fails('normal 3]i', 'E389:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1102 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1103 " Test for :isearch |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1104 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
|
1105 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
|
1106 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
|
1107 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
|
1108 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
|
1109 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
|
1110 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
|
1111 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1112 " 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
|
1113 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1114 \ ' 1: 1 1:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1115 \ ' 2: 2 2:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1116 \ ' 3: 3 foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1117 \ ' 4: 4 3:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1118 \ ' 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
|
1119 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1120 \ ' 1: 4 3:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1121 \ ' 2: 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
|
1122 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1123 " Test for :ilist |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1124 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1125 \ ' 1: 1 1:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1126 \ ' 2: 2 2:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1127 \ ' 3: 3 foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1128 \ ' 4: 4 3:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1129 \ ' 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
|
1130 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1131 \ ' 1: 4 3:foo', |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1132 \ ' 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
|
1133 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
|
1134 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1135 " 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
|
1136 exe "normal [\t" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1137 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
|
1138 exe "normal 2j4[\t" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1139 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
|
1140 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
|
1141 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
|
1142 exe "normal ]\t" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1143 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
|
1144 exe "normal k2]\t" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1145 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
|
1146 call assert_fails("normal 2k3]\t", 'E389:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1147 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1148 " Test for :ijump |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1149 call cursor(3, 1) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1150 ijump foo |
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, 3], [line('.'), col('.')]) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1152 call cursor(3, 1) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1153 ijump 4 /foo/ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1154 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
|
1155 call cursor(3, 1) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1156 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
|
1157 +,$ijump 2 foo |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1158 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
|
1159 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
|
1160 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1161 " 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
|
1162 call cursor(3, 1) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1163 wincmd i |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1164 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
|
1165 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1166 5wincmd i |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1167 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
|
1168 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1169 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
|
1170 call assert_fails('6wincmd i', 'E389:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1171 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1172 " Test for :isplit |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1173 isplit foo |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1174 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
|
1175 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1176 isplit 5 /foo/ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1177 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
|
1178 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1179 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
|
1180 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
|
1181 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
|
1182 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1183 close! |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1184 endfunc |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1185 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1186 " 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
|
1187 " 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
|
1188 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
|
1189 new |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1190 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
|
1191 \ '#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
|
1192 call cursor(3, 9) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1193 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1194 " 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
|
1195 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
|
1196 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
|
1197 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
|
1198 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
|
1199 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
|
1200 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
|
1201 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1202 " Test for :dsearch |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1203 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
|
1204 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
|
1205 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
|
1206 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
|
1207 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
|
1208 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
|
1209 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1210 " 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
|
1211 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1212 \ ' 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
|
1213 \ ' 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
|
1214 \ ' 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
|
1215 \ ' 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
|
1216 \ ' 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
|
1217 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1218 \ ' 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
|
1219 \ ' 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
|
1220 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1221 " Test for :dlist |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1222 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1223 \ ' 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
|
1224 \ ' 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
|
1225 \ ' 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
|
1226 \ ' 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
|
1227 \ ' 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
|
1228 call assert_equal([ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1229 \ ' 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
|
1230 \ ' 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
|
1231 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
|
1232 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1233 " 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
|
1234 exe "normal [\<C-D>" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1235 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
|
1236 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
|
1237 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
|
1238 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
|
1239 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
|
1240 exe "normal ]\<C-D>" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1241 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
|
1242 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
|
1243 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
|
1244 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
|
1245 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1246 " Test for :djump |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1247 call cursor(3, 9) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1248 djump FOO |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1249 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
|
1250 call cursor(3, 9) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1251 djump 4 /FOO/ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1252 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
|
1253 call cursor(3, 9) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1254 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
|
1255 +,$djump 2 FOO |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1256 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
|
1257 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
|
1258 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1259 " 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
|
1260 call cursor(3, 9) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1261 wincmd 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([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
|
1263 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1264 5wincmd 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([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
|
1266 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1267 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
|
1268 call assert_fails('6wincmd d', 'E388:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1269 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1270 " Test for :dsplit |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1271 dsplit FOO |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1272 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
|
1273 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1274 dsplit 5 /FOO/ |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1275 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
|
1276 close |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1277 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
|
1278 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
|
1279 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
|
1280 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1281 close! |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1282 endfunc |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19063
diff
changeset
|
1283 |
19625
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1284 " Test for [*, [/, ]* and ]/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1285 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
|
1286 new |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1287 call setline(1, ['', '/*', ' *', ' *', ' */']) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1288 normal! 4gg[/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1289 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
|
1290 normal! 3gg[* |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1291 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
|
1292 normal! 3gg]/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1293 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
|
1294 normal! 3gg]* |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1295 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
|
1296 %d |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1297 call setline(1, ['', '/*', ' *', ' *']) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1298 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
|
1299 %d |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1300 call setline(1, ['', ' *', ' *', ' */']) |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1301 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
|
1302 %d |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1303 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
|
1304 normal! 15|[/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1305 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
|
1306 normal! 15|]/ |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1307 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
|
1308 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
|
1309 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
|
1310 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
|
1311 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
|
1312 close! |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1313 endfunc |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
1314 |
20893
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1315 " 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
|
1316 func Test_tag_length() |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1317 set tags=Xtags |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1318 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
|
1319 \ "tame\tXfile1\t1;", |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1320 \ "tape\tXfile2\t1;"], 'Xtags') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1321 call writefile(['tame'], 'Xfile1') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1322 call writefile(['tape'], 'Xfile2') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1323 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1324 " 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
|
1325 new |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1326 set taglength=2 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1327 tag tape |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1328 call assert_equal('Xfile1', @%) |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1329 " 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
|
1330 enew |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1331 tag /^tape$ |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1332 call assert_equal('Xfile2', @%) |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1333 |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1334 call delete('Xtags') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1335 call delete('Xfile1') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1336 call delete('Xfile2') |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1337 set tags& taglength& |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1338 endfunc |
c78689fa0633
patch 8.2.0998: not all tag code is tested
Bram Moolenaar <Bram@vim.org>
parents:
20796
diff
changeset
|
1339 |
9909
3ee84d270ea7
commit https://github.com/vim/vim/commit/9e4d8215d386100ab660d7d11e6620fd148b605e
Christian Brabandt <cb@256bit.org>
parents:
9228
diff
changeset
|
1340 " vim: shiftwidth=2 sts=2 expandtab |