diff options
| author | James McCoy <jamessan@jamessan.com> | 2016-09-27 11:55:05 -0400 |
|---|---|---|
| committer | James McCoy <jamessan@jamessan.com> | 2016-09-27 11:55:05 -0400 |
| commit | 45d5b78aecd4138b9207a49cd0fc5c36310ae8c5 (patch) | |
| tree | 8a4a23ccf3f84e2216463bc1086ee89f9925bc40 /src/nvim/testdir | |
| parent | 36ffb6a7d82ef33e05c4c1aaf846aac92a27df98 (diff) | |
| parent | b6f8c35cf7d88b0fb23e12f51f1d032f030ec845 (diff) | |
| download | rneovim-45d5b78aecd4138b9207a49cd0fc5c36310ae8c5.tar.gz rneovim-45d5b78aecd4138b9207a49cd0fc5c36310ae8c5.tar.bz2 rneovim-45d5b78aecd4138b9207a49cd0fc5c36310ae8c5.zip | |
Merge pull request #5357 from jbradaric/vim-7.4.1671
vim-patch:7.4.{1671,1818,1820,1821}
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/test_help_tagjump.vim | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_help_tagjump.vim b/src/nvim/testdir/test_help_tagjump.vim index 42f8391aba..cc1c81c7f6 100644 --- a/src/nvim/testdir/test_help_tagjump.vim +++ b/src/nvim/testdir/test_help_tagjump.vim @@ -48,3 +48,118 @@ func Test_help_tagjump() call assert_true(getline('.') =~ '\*{address}\*') helpclose endfunc + +let s:langs = ['en', 'ab', 'ja'] + +func s:doc_config_setup() + let s:helpfile_save = &helpfile + let &helpfile="Xdir1/doc-en/doc/testdoc.txt" + let s:rtp_save = &rtp + let &rtp="Xdir1/doc-en" + if has('multi_lang') + let s:helplang_save=&helplang + endif + + call delete('Xdir1', 'rf') + + for lang in s:langs + if lang ==# 'en' + let tagfname = 'tags' + let docfname = 'testdoc.txt' + else + let tagfname = 'tags-' . lang + let docfname = 'testdoc.' . lang . 'x' + endif + let docdir = "Xdir1/doc-" . lang . "/doc" + call mkdir(docdir, "p") + call writefile(["\t*test-char*", "\t*test-col*"], docdir . '/' . docfname) + call writefile(["test-char\t" . docfname . "\t/*test-char*", + \ "test-col\t" . docfname . "\t/*test-col*"], + \ docdir . '/' . tagfname) + endfor +endfunc + +func s:doc_config_teardown() + call delete('Xdir1', 'rf') + + let &helpfile = s:helpfile_save + let &rtp = s:rtp_save + if has('multi_lang') + let &helplang = s:helplang_save + endif +endfunc + +func s:get_cmd_compl_list(cmd) + let list = [] + let str = '' + for cnt in range(1, 999) + call feedkeys(a:cmd . repeat("\<Tab>", cnt) . "'\<C-B>let str='\<CR>", 'tx') + if str ==# a:cmd[1:] + break + endif + call add(list, str) + endfor + return list +endfunc + +func Test_help_complete() + try + let list = [] + call s:doc_config_setup() + + " 'helplang=' and help file lang is 'en' + if has('multi_lang') + set helplang= + endif + let list = s:get_cmd_compl_list(":h test") + call assert_equal(['h test-col', 'h test-char'], list) + + if has('multi_lang') + " 'helplang=ab' and help file lang is 'en' + set helplang=ab + let list = s:get_cmd_compl_list(":h test") + call assert_equal(['h test-col', 'h test-char'], list) + + " 'helplang=' and help file lang is 'en' and 'ab' + set rtp+=Xdir1/doc-ab + set helplang= + let list = s:get_cmd_compl_list(":h test") + call assert_equal(sort(['h test-col@en', 'h test-col@ab', + \ 'h test-char@en', 'h test-char@ab']), sort(list)) + + " 'helplang=ab' and help file lang is 'en' and 'ab' + set helplang=ab + let list = s:get_cmd_compl_list(":h test") + call assert_equal(sort(['h test-col', 'h test-col@en', + \ 'h test-char', 'h test-char@en']), sort(list)) + + " 'helplang=' and help file lang is 'en', 'ab' and 'ja' + set rtp+=Xdir1/doc-ja + set helplang= + let list = s:get_cmd_compl_list(":h test") + call assert_equal(sort(['h test-col@en', 'h test-col@ab', + \ 'h test-col@ja', 'h test-char@en', + \ 'h test-char@ab', 'h test-char@ja']), sort(list)) + + " 'helplang=ab' and help file lang is 'en', 'ab' and 'ja' + set helplang=ab + let list = s:get_cmd_compl_list(":h test") + call assert_equal(sort(['h test-col', 'h test-col@en', + \ 'h test-col@ja', 'h test-char', + \ 'h test-char@en', 'h test-char@ja']), sort(list)) + + " 'helplang=ab,ja' and help file lang is 'en', 'ab' and 'ja' + set helplang=ab,ja + let list = s:get_cmd_compl_list(":h test") + call assert_equal(sort(['h test-col', 'h test-col@ja', + \ 'h test-col@en', 'h test-char', + \ 'h test-char@ja', 'h test-char@en']), sort(list)) + endif + catch + call assert_exception('X') + finally + call s:doc_config_teardown() + endtry +endfunc + +" vim: et sw=2: |