diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-06-30 22:40:42 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-06-30 22:40:42 +0200 |
commit | 46577b5e5445c4aaa1e7ae1764373d11dae71663 (patch) | |
tree | f3f3a80c47eb1c3d294eb3eaf638fd2ad4636797 /src/testdir | |
parent | 4ff4814b383bc85fbf5d8f62c8022f4379d7a490 (diff) | |
download | vim-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.vim | 25 |
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 |