summaryrefslogtreecommitdiff
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-06-30 22:40:42 +0200
committerBram Moolenaar <Bram@vim.org>2018-06-30 22:40:42 +0200
commit46577b5e5445c4aaa1e7ae1764373d11dae71663 (patch)
treef3f3a80c47eb1c3d294eb3eaf638fd2ad4636797 /src/testdir
parent4ff4814b383bc85fbf5d8f62c8022f4379d7a490 (diff)
downloadvim-git-46577b5e5445c4aaa1e7ae1764373d11dae71663.tar.gz
patch 8.1.0133: tagfiles() can have duplicate entriesv8.1.0133
Problem: tagfiles() can have duplicate entries. Solution: Simplify the filename to make checking for duplicates work better. Add a test. (Dominique Pelle, closes #2979)
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/test_taglist.vim25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/testdir/test_taglist.vim b/src/testdir/test_taglist.vim
index 3ad202591..0a9350adc 100644
--- a/src/testdir/test_taglist.vim
+++ b/src/testdir/test_taglist.vim
@@ -1,4 +1,4 @@
-" test 'taglist' function and :tags command
+" test taglist(), tagfiles() functions and :tags command
func Test_taglist()
call writefile([
@@ -61,3 +61,26 @@ func Test_tags_too_long()
call assert_fails('tag ' . repeat('x', 1020), 'E426')
tags
endfunc
+
+func Test_tagfiles()
+ call assert_equal([], tagfiles())
+
+ call writefile(["FFoo\tXfoo\t1"], 'Xtags1')
+ call writefile(["FBar\tXbar\t1"], 'Xtags2')
+ set tags=Xtags1,Xtags2
+ call assert_equal(['Xtags1', 'Xtags2'], tagfiles())
+
+ help
+ let tf = tagfiles()
+ call assert_equal(1, len(tf))
+ call assert_equal(fnamemodify(expand('$VIMRUNTIME/doc/tags'), ':p:gs?\\?/?'),
+ \ fnamemodify(tf[0], ':p:gs?\\?/?'))
+ helpclose
+ call assert_equal(['Xtags1', 'Xtags2'], tagfiles())
+ set tags&
+ call assert_equal([], tagfiles())
+
+ call delete('Xtags1')
+ call delete('Xtags2')
+ bd
+endfunc