annotate src/testdir/test_taglist.vim @ 35120:a9ee3031a1bb default tip

Added tag v9.1.0393 for changeset 7d6bce8d8875e7deec699d688e081b1450243bb6
author Christian Brabandt <cb@256bit.org>
date Sat, 04 May 2024 10:00:06 +0200
parents 4ab37aa5cbcf
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14232
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
1 " test taglist(), tagfiles() functions and :tags command
11225
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
3 source check.vim
19679
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
4 source view_util.vim
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
5
11225
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 func Test_taglist()
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 call writefile([
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 \ "FFoo\tXfoo\t1",
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 \ "FBar\tXfoo\t2",
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 \ "BFoo\tXbar\t1",
15808
37d31fc37a5a patch 8.1.0911: tag line with Ex command cannot have extra fields
Bram Moolenaar <Bram@vim.org>
parents: 14232
diff changeset
11 \ "BBar\tXbar\t2",
37d31fc37a5a patch 8.1.0911: tag line with Ex command cannot have extra fields
Bram Moolenaar <Bram@vim.org>
parents: 14232
diff changeset
12 \ "Kindly\tXbar\t3;\"\tv\tfile:",
19617
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
13 \ "Lambda\tXbar\t3;\"\tλ\tfile:",
15808
37d31fc37a5a patch 8.1.0911: tag line with Ex command cannot have extra fields
Bram Moolenaar <Bram@vim.org>
parents: 14232
diff changeset
14 \ "Command\tXbar\tcall cursor(3, 4)|;\"\td",
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
15 \ ], 'Xtags', 'D')
11225
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 set tags=Xtags
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 split Xtext
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 call assert_equal(['FFoo', 'BFoo'], map(taglist("Foo"), {i, v -> v.name}))
18031
8a2fb21c23c0 patch 8.1.2011: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17093
diff changeset
20 call assert_equal(['FFoo', 'BFoo'], map("Foo"->taglist("Xtext"), {i, v -> v.name}))
11225
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 call assert_equal(['FFoo', 'BFoo'], map(taglist("Foo", "Xfoo"), {i, v -> v.name}))
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 call assert_equal(['BFoo', 'FFoo'], map(taglist("Foo", "Xbar"), {i, v -> v.name}))
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23
19617
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
24 let kindly = taglist("Kindly")
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
25 call assert_equal(1, len(kindly))
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
26 call assert_equal('v', kindly[0]['kind'])
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
27 call assert_equal('3', kindly[0]['cmd'])
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
28 call assert_equal(1, kindly[0]['static'])
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
29 call assert_equal('Xbar', kindly[0]['filename'])
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
30
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
31 let lambda = taglist("Lambda")
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
32 call assert_equal(1, len(lambda))
5ce724c60c4c patch 8.2.0365: tag kind can't be a multi-byte character
Bram Moolenaar <Bram@vim.org>
parents: 19055
diff changeset
33 call assert_equal('λ', lambda[0]['kind'])
15808
37d31fc37a5a patch 8.1.0911: tag line with Ex command cannot have extra fields
Bram Moolenaar <Bram@vim.org>
parents: 14232
diff changeset
34
37d31fc37a5a patch 8.1.0911: tag line with Ex command cannot have extra fields
Bram Moolenaar <Bram@vim.org>
parents: 14232
diff changeset
35 let cmd = taglist("Command")
37d31fc37a5a patch 8.1.0911: tag line with Ex command cannot have extra fields
Bram Moolenaar <Bram@vim.org>
parents: 14232
diff changeset
36 call assert_equal(1, len(cmd))
37d31fc37a5a patch 8.1.0911: tag line with Ex command cannot have extra fields
Bram Moolenaar <Bram@vim.org>
parents: 14232
diff changeset
37 call assert_equal('d', cmd[0]['kind'])
37d31fc37a5a patch 8.1.0911: tag line with Ex command cannot have extra fields
Bram Moolenaar <Bram@vim.org>
parents: 14232
diff changeset
38 call assert_equal('call cursor(3, 4)', cmd[0]['cmd'])
37d31fc37a5a patch 8.1.0911: tag line with Ex command cannot have extra fields
Bram Moolenaar <Bram@vim.org>
parents: 14232
diff changeset
39
27986
c724906134a3 patch 8.2.4518: the binary tag search feature is always enabled
Bram Moolenaar <Bram@vim.org>
parents: 26492
diff changeset
40 " Use characters with value > 127 in the tag extra field.
c724906134a3 patch 8.2.4518: the binary tag search feature is always enabled
Bram Moolenaar <Bram@vim.org>
parents: 26492
diff changeset
41 call writefile([
c724906134a3 patch 8.2.4518: the binary tag search feature is always enabled
Bram Moolenaar <Bram@vim.org>
parents: 26492
diff changeset
42 \ "vFoo\tXfoo\t4" .. ';"' .. "\ttypename:int\ta£££\tv",
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
43 \ ], 'Xtags', 'D')
27986
c724906134a3 patch 8.2.4518: the binary tag search feature is always enabled
Bram Moolenaar <Bram@vim.org>
parents: 26492
diff changeset
44 call assert_equal('v', taglist('vFoo')[0].kind)
c724906134a3 patch 8.2.4518: the binary tag search feature is always enabled
Bram Moolenaar <Bram@vim.org>
parents: 26492
diff changeset
45
19783
546bdeef35f1 patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19679
diff changeset
46 call assert_fails("let l=taglist([])", 'E730:')
546bdeef35f1 patch 8.2.0448: various functions not properly tested
Bram Moolenaar <Bram@vim.org>
parents: 19679
diff changeset
47
17093
5cda6165a5c1 patch 8.1.1546: in some tests 'tags' is set but not restored
Bram Moolenaar <Bram@vim.org>
parents: 16190
diff changeset
48 set tags&
11225
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
49 bwipe
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
50 endfunc
d3415ec1cdaf patch 8.0.0499: taglist() does not prioritize tags for a buffer
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
51
11329
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
52 func Test_taglist_native_etags()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
53 CheckFeature emacs_tags
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
54
11329
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
55 call writefile([
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
56 \ "\x0c",
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
57 \ "src/os_unix.c,13491",
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
58 \ "set_signals(\x7f1335,32699",
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
59 \ "reset_signals(\x7f1407,34136",
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
60 \ ], 'Xtags', 'D')
11329
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
61
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
62 set tags=Xtags
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
63
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
64 call assert_equal([['set_signals', '1335,32699'], ['reset_signals', '1407,34136']],
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
65 \ map(taglist('set_signals'), {i, v -> [v.name, v.cmd]}))
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
66
17093
5cda6165a5c1 patch 8.1.1546: in some tests 'tags' is set but not restored
Bram Moolenaar <Bram@vim.org>
parents: 16190
diff changeset
67 set tags&
11329
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
68 endfunc
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
69
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
70 func Test_taglist_ctags_etags()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
71 CheckFeature emacs_tags
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21265
diff changeset
72
11329
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
73 call writefile([
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
74 \ "\x0c",
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
75 \ "src/os_unix.c,13491",
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
76 \ "set_signals(void)\x7fset_signals\x011335,32699",
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
77 \ "reset_signals(void)\x7freset_signals\x011407,34136",
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
78 \ ], 'Xtags', 'D')
11329
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
79
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
80 set tags=Xtags
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
81
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
82 call assert_equal([['set_signals', '1335,32699'], ['reset_signals', '1407,34136']],
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
83 \ map(taglist('set_signals'), {i, v -> [v.name, v.cmd]}))
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
84
17093
5cda6165a5c1 patch 8.1.1546: in some tests 'tags' is set but not restored
Bram Moolenaar <Bram@vim.org>
parents: 16190
diff changeset
85 set tags&
11329
c7ba89661c39 patch 8.0.0550: cannot parse some etags format tags file
Christian Brabandt <cb@256bit.org>
parents: 11225
diff changeset
86 endfunc
13068
63fdea6e9c6c patch 8.0.1409: buffer overflow in :tags command
Christian Brabandt <cb@256bit.org>
parents: 11329
diff changeset
87
63fdea6e9c6c patch 8.0.1409: buffer overflow in :tags command
Christian Brabandt <cb@256bit.org>
parents: 11329
diff changeset
88 func Test_tags_too_long()
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
89 call assert_fails('tag ' . repeat('x', 1020), ['E433:', 'E426:'])
13068
63fdea6e9c6c patch 8.0.1409: buffer overflow in :tags command
Christian Brabandt <cb@256bit.org>
parents: 11329
diff changeset
90 tags
63fdea6e9c6c patch 8.0.1409: buffer overflow in :tags command
Christian Brabandt <cb@256bit.org>
parents: 11329
diff changeset
91 endfunc
14232
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
92
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
93 func Test_tagfiles()
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
94 call assert_equal([], tagfiles())
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
95
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
96 call writefile(["FFoo\tXfoo\t1"], 'Xtags1', 'D')
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
97 call writefile(["FBar\tXbar\t1"], 'Xtags2', 'D')
14232
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
98 set tags=Xtags1,Xtags2
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
99 call assert_equal(['Xtags1', 'Xtags2'], tagfiles())
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
100
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
101 help
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
102 let tf = tagfiles()
34973
4ab37aa5cbcf patch 9.1.0342: tests: test_taglist fails when 'helplang' contains non-english
Christian Brabandt <cb@256bit.org>
parents: 30865
diff changeset
103 " if 'helplang includes another language, then we may find
4ab37aa5cbcf patch 9.1.0342: tests: test_taglist fails when 'helplang' contains non-english
Christian Brabandt <cb@256bit.org>
parents: 30865
diff changeset
104 " 2 tagfiles (e.g.: for EN and RU)
4ab37aa5cbcf patch 9.1.0342: tests: test_taglist fails when 'helplang' contains non-english
Christian Brabandt <cb@256bit.org>
parents: 30865
diff changeset
105 " we may need to adjust this, if further translated help files are included
4ab37aa5cbcf patch 9.1.0342: tests: test_taglist fails when 'helplang' contains non-english
Christian Brabandt <cb@256bit.org>
parents: 30865
diff changeset
106 call assert_inrange(1, 2, len(tf))
14232
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
107 call assert_equal(fnamemodify(expand('$VIMRUNTIME/doc/tags'), ':p:gs?\\?/?'),
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
108 \ fnamemodify(tf[0], ':p:gs?\\?/?'))
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
109 helpclose
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
110 call assert_equal(['Xtags1', 'Xtags2'], tagfiles())
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
111 set tags&
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
112 call assert_equal([], tagfiles())
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
113
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
114 bd
4afe2386aae8 patch 8.1.0133: tagfiles() can have duplicate entries
Christian Brabandt <cb@256bit.org>
parents: 13068
diff changeset
115 endfunc
16190
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
116
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
117 " For historical reasons we support a tags file where the last line is missing
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
118 " the newline.
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
119 func Test_tagsfile_without_trailing_newline()
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
120 call writefile(["Foo\tfoo\t1"], 'Xtags', 'bD')
16190
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
121 set tags=Xtags
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
122
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
123 let tl = taglist('.*')
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
124 call assert_equal(1, len(tl))
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
125 call assert_equal('Foo', tl[0].name)
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
126
17093
5cda6165a5c1 patch 8.1.1546: in some tests 'tags' is set but not restored
Bram Moolenaar <Bram@vim.org>
parents: 16190
diff changeset
127 set tags&
16190
d863beec391a patch 8.1.1100: tag file without trailing newline no longer works
Bram Moolenaar <Bram@vim.org>
parents: 15808
diff changeset
128 endfunc
19055
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
129
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
130 " Test for ignoring comments in a tags file
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
131 func Test_tagfile_ignore_comments()
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
132 call writefile([
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
133 \ "!_TAG_PROGRAM_NAME /Test tags generator/",
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
134 \ "FBar\tXfoo\t2" .. ';"' .. "\textrafield\tf",
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
135 \ "!_TAG_FILE_FORMAT 2 /extended format/",
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
136 \ ], 'Xtags', 'D')
19055
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
137 set tags=Xtags
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
138
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
139 let l = taglist('.*')
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
140 call assert_equal(1, len(l))
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
141 call assert_equal('FBar', l[0].name)
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
142
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
143 set tags&
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
144 endfunc
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
145
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
146 " Test for using an excmd in a tags file to position the cursor (instead of a
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
147 " search pattern or a line number)
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
148 func Test_tagfile_excmd()
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
149 call writefile([
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
150 \ "vFoo\tXfoo\tcall cursor(3, 4)" .. '|;"' .. "\tv",
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
151 \ ], 'Xtags', 'D')
19055
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
152 set tags=Xtags
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
153
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
154 let l = taglist('.*')
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
155 call assert_equal([{
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
156 \ 'cmd' : 'call cursor(3, 4)',
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
157 \ 'static' : 0,
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
158 \ 'name' : 'vFoo',
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
159 \ 'kind' : 'v',
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
160 \ 'filename' : 'Xfoo'}], l)
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
161
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
162 set tags&
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
163 endfunc
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
164
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
165 " Test for duplicate fields in a tag in a tags file
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
166 func Test_duplicate_field()
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
167 call writefile([
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
168 \ "vFoo\tXfoo\t4" .. ';"' .. "\ttypename:int\ttypename:int\tv",
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
169 \ ], 'Xtags', 'D')
19055
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
170 set tags=Xtags
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
171
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
172 let l = taglist('.*')
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
173 call assert_equal([{
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
174 \ 'cmd' : '4',
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
175 \ 'static' : 0,
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
176 \ 'name' : 'vFoo',
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
177 \ 'kind' : 'v',
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
178 \ 'typename' : 'int',
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
179 \ 'filename' : 'Xfoo'}], l)
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
180
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
181 set tags&
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
182 endfunc
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
183
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
184 " Test for tag address with ;
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
185 func Test_tag_addr_with_semicolon()
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
186 call writefile([
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
187 \ "Func1\tXfoo\t6;/^Func1/" .. ';"' .. "\tf"
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
188 \ ], 'Xtags', 'D')
19055
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
189 set tags=Xtags
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
190
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
191 let l = taglist('.*')
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
192 call assert_equal([{
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
193 \ 'cmd' : '6;/^Func1/',
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
194 \ 'static' : 0,
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
195 \ 'name' : 'Func1',
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
196 \ 'kind' : 'f',
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
197 \ 'filename' : 'Xfoo'}], l)
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
198
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
199 set tags&
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
200 endfunc
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
201
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
202 " Test for format error in a tags file
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
203 func Test_format_error()
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
204 call writefile(['vFoo-Xfoo-4'], 'Xtags', 'D')
19055
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
205 set tags=Xtags
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
206
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
207 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: 18031
diff changeset
208 try
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
209 let l = taglist('.*')
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
210 catch /E431:/
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
211 " test succeeded
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
212 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: 18031
diff changeset
213 catch
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
214 call assert_report('Caught ' . v:exception . ' in ' . v:throwpoint)
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
215 endtry
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
216 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: 18031
diff changeset
217
27986
c724906134a3 patch 8.2.4518: the binary tag search feature is always enabled
Bram Moolenaar <Bram@vim.org>
parents: 26492
diff changeset
218 " no field after the filename for a tag
c724906134a3 patch 8.2.4518: the binary tag search feature is always enabled
Bram Moolenaar <Bram@vim.org>
parents: 26492
diff changeset
219 call writefile(["!_TAG_FILE_ENCODING\tutf-8\t//",
c724906134a3 patch 8.2.4518: the binary tag search feature is always enabled
Bram Moolenaar <Bram@vim.org>
parents: 26492
diff changeset
220 \ "foo\tXfile"], 'Xtags')
c724906134a3 patch 8.2.4518: the binary tag search feature is always enabled
Bram Moolenaar <Bram@vim.org>
parents: 26492
diff changeset
221 call assert_fails("echo taglist('foo')", 'E431:')
c724906134a3 patch 8.2.4518: the binary tag search feature is always enabled
Bram Moolenaar <Bram@vim.org>
parents: 26492
diff changeset
222
19055
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
223 set tags&
8645b73b3645 patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Bram Moolenaar <Bram@vim.org>
parents: 18031
diff changeset
224 endfunc
19679
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
225
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
226 " Test for :tag command completion with 'wildoptions' set to 'tagfile'
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
227 func Test_tag_complete_wildoptions()
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
228 call writefile(["foo\ta.c\t10;\"\tf", "bar\tb.c\t20;\"\td"], 'Xtags', 'D')
19679
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
229 set tags=Xtags
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
230 set wildoptions=tagfile
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
231
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
232 call feedkeys(":tag \<C-D>\<C-R>=Screenline(&lines - 1)\<CR> : "
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
233 \ .. "\<C-R>=Screenline(&lines - 2)\<CR>\<C-B>\"\<CR>", 'xt')
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
234
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
235 call assert_equal('"tag bar d b.c : foo f a.c', @:)
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
236
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
237 set wildoptions&
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
238 set tags&
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
239 endfunc
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
240
26492
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
241 func Test_tag_complete_with_overlong_line()
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
242 let tagslines =<< trim END
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
243 !_TAG_FILE_FORMAT 2 //
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
244 !_TAG_FILE_SORTED 1 //
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
245 !_TAG_FILE_ENCODING utf-8 //
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
246 inboundGSV a 1;" r
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
247 inboundGovernor a 2;" kind:⊢ type:forall (muxMode :: MuxMode) socket peerAddr versionNumber m a b. (MonadAsync m, MonadCatch m, MonadEvaluate m, MonadThrow m, MonadThrow (STM m), MonadTime m, MonadTimer m, MonadMask m, Ord peerAddr, HasResponder muxMode ~ True) => Tracer m (RemoteTransitionTrace peerAddr) -> Tracer m (InboundGovernorTrace peerAddr) -> ServerControlChannel muxMode peerAddr ByteString m a b -> DiffTime -> MuxConnectionManager muxMode socket peerAddr versionNumber ByteString m a b -> StrictTVar m InboundGovernorObservableState -> m Void
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
248 inboundGovernorCounters a 3;" kind:⊢ type:InboundGovernorState muxMode peerAddr m a b -> InboundGovernorCounters
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
249 END
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28057
diff changeset
250 call writefile(tagslines, 'Xtags', 'D')
26492
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
251 set tags=Xtags
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
252
28057
bfa81ded42e2 patch 8.2.4553: linear tag search is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 27986
diff changeset
253 " try with binary search
bfa81ded42e2 patch 8.2.4553: linear tag search is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 27986
diff changeset
254 set tagbsearch
26492
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
255 call feedkeys(":tag inbou\<C-A>\<C-B>\"\<CR>", 'xt')
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
256 call assert_equal('"tag inboundGSV inboundGovernor inboundGovernorCounters', @:)
28057
bfa81ded42e2 patch 8.2.4553: linear tag search is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 27986
diff changeset
257 " try with linear search
bfa81ded42e2 patch 8.2.4553: linear tag search is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 27986
diff changeset
258 set notagbsearch
bfa81ded42e2 patch 8.2.4553: linear tag search is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 27986
diff changeset
259 call feedkeys(":tag inbou\<C-A>\<C-B>\"\<CR>", 'xt')
bfa81ded42e2 patch 8.2.4553: linear tag search is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 27986
diff changeset
260 call assert_equal('"tag inboundGSV inboundGovernor inboundGovernorCounters', @:)
bfa81ded42e2 patch 8.2.4553: linear tag search is a bit slow
Bram Moolenaar <Bram@vim.org>
parents: 27986
diff changeset
261 set tagbsearch&
26492
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
262
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
263 set tags&
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
264 endfunc
08e3eee541ac patch 8.2.3776: when a tags file line is long a tag may not be found
Bram Moolenaar <Bram@vim.org>
parents: 22087
diff changeset
265
19679
9199f34d838e patch 8.2.0396: cmdexpand.c insufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19617
diff changeset
266 " vim: shiftwidth=2 sts=2 expandtab