1" Tests for :help 2 3func Test_help_restore_snapshot() 4 help 5 set buftype= 6 help 7 edit x 8 help 9 helpclose 10endfunc 11 12func Test_help_errors() 13 call assert_fails('help doesnotexist', 'E149:') 14 call assert_fails('help!', 'E478:') 15 if has('multi_lang') 16 call assert_fails('help help@xy', 'E661:') 17 endif 18 19 let save_hf = &helpfile 20 set helpfile=help_missing 21 help 22 call assert_equal(1, winnr('$')) 23 call assert_notequal('help', &buftype) 24 let &helpfile = save_hf 25 26 call assert_fails('help ' . repeat('a', 1048), 'E149:') 27 28 new 29 set keywordprg=:help 30 call setline(1, " ") 31 call assert_fails('normal VK', 'E349:') 32 bwipe! 33endfunc 34 35func Test_help_expr() 36 help expr-!~? 37 call assert_equal('eval.txt', expand('%:t')) 38 close 39endfunc 40 41func Test_help_keyword() 42 new 43 set keywordprg=:help 44 call setline(1, " Visual ") 45 normal VK 46 call assert_match('^Visual mode', getline('.')) 47 call assert_equal('help', &ft) 48 close 49 bwipe! 50endfunc 51 52func Test_help_local_additions() 53 call mkdir('Xruntime/doc', 'p') 54 call writefile(['*mydoc.txt* my awesome doc'], 'Xruntime/doc/mydoc.txt') 55 call writefile(['*mydoc-ext.txt* my extended awesome doc'], 'Xruntime/doc/mydoc-ext.txt') 56 let rtp_save = &rtp 57 set rtp+=./Xruntime 58 help 59 1 60 call search('mydoc.txt') 61 call assert_equal('|mydoc.txt| my awesome doc', getline('.')) 62 1 63 call search('mydoc-ext.txt') 64 call assert_equal('|mydoc-ext.txt| my extended awesome doc', getline('.')) 65 close 66 67 call delete('Xruntime', 'rf') 68 let &rtp = rtp_save 69endfunc 70 71func Test_help_completion() 72 call feedkeys(":help :undo\<C-A>\<C-B>\"\<CR>", 'tx') 73 call assert_equal('"help :undo :undoj :undol :undojoin :undolist', @:) 74endfunc 75