1f3654827SBram Moolenaar" Tests for 'packpath' and :packadd 2f3654827SBram Moolenaar 3*6d91bcb4SBram Moolenaarsource check.vim 4c3c766eaSBram Moolenaar 5f3654827SBram Moolenaarfunc SetUp() 6cf1ba35fSBram Moolenaar let s:topdir = getcwd() . '/Xdir' 7f3654827SBram Moolenaar exe 'set packpath=' . s:topdir 8f3654827SBram Moolenaar let s:plugdir = s:topdir . '/pack/mine/opt/mytest' 9f3654827SBram Moolenaarendfunc 10f3654827SBram Moolenaar 11f3654827SBram Moolenaarfunc TearDown() 12f3654827SBram Moolenaar call delete(s:topdir, 'rf') 13f3654827SBram Moolenaarendfunc 14f3654827SBram Moolenaar 15f3654827SBram Moolenaarfunc Test_packadd() 1699396d4cSBram Moolenaar if !exists('s:plugdir') 1799396d4cSBram Moolenaar echomsg 'when running this test manually, call SetUp() first' 1899396d4cSBram Moolenaar return 1999396d4cSBram Moolenaar endif 2099396d4cSBram Moolenaar 2171fb0c14SBram Moolenaar call mkdir(s:plugdir . '/plugin/also', 'p') 22f3654827SBram Moolenaar call mkdir(s:plugdir . '/ftdetect', 'p') 23a5702445SBram Moolenaar call mkdir(s:plugdir . '/after', 'p') 24f3654827SBram Moolenaar set rtp& 25f3654827SBram Moolenaar let rtp = &rtp 26f3654827SBram Moolenaar filetype on 27f3654827SBram Moolenaar 2899396d4cSBram Moolenaar let rtp_entries = split(rtp, ',') 2999396d4cSBram Moolenaar for entry in rtp_entries 3099396d4cSBram Moolenaar if entry =~? '\<after\>' 3199396d4cSBram Moolenaar let first_after_entry = entry 3299396d4cSBram Moolenaar break 3399396d4cSBram Moolenaar endif 3499396d4cSBram Moolenaar endfor 3599396d4cSBram Moolenaar 36f3654827SBram Moolenaar exe 'split ' . s:plugdir . '/plugin/test.vim' 37f3654827SBram Moolenaar call setline(1, 'let g:plugin_works = 42') 38f3654827SBram Moolenaar wq 39f3654827SBram Moolenaar 4071fb0c14SBram Moolenaar exe 'split ' . s:plugdir . '/plugin/also/loaded.vim' 4171fb0c14SBram Moolenaar call setline(1, 'let g:plugin_also_works = 77') 4271fb0c14SBram Moolenaar wq 4371fb0c14SBram Moolenaar 44f3654827SBram Moolenaar exe 'split ' . s:plugdir . '/ftdetect/test.vim' 45f3654827SBram Moolenaar call setline(1, 'let g:ftdetect_works = 17') 46f3654827SBram Moolenaar wq 47f3654827SBram Moolenaar 48f3654827SBram Moolenaar packadd mytest 49f3654827SBram Moolenaar 50f3654827SBram Moolenaar call assert_equal(42, g:plugin_works) 5171fb0c14SBram Moolenaar call assert_equal(77, g:plugin_also_works) 52f3654827SBram Moolenaar call assert_equal(17, g:ftdetect_works) 53f3654827SBram Moolenaar call assert_true(len(&rtp) > len(rtp)) 542374faaeSBram Moolenaar call assert_match('/testdir/Xdir/pack/mine/opt/mytest\($\|,\)', &rtp) 5599396d4cSBram Moolenaar 5699396d4cSBram Moolenaar let new_after = match(&rtp, '/testdir/Xdir/pack/mine/opt/mytest/after,') 5753c8a478SBram Moolenaar let forwarded = substitute(first_after_entry, '\\', '[/\\\\]', 'g') 5853c8a478SBram Moolenaar let old_after = match(&rtp, ',' . forwarded . '\>') 5999396d4cSBram Moolenaar call assert_true(new_after > 0, 'rtp is ' . &rtp) 6053c8a478SBram Moolenaar call assert_true(old_after > 0, 'match ' . forwarded . ' in ' . &rtp) 6199396d4cSBram Moolenaar call assert_true(new_after < old_after, 'rtp is ' . &rtp) 62be82c254SBram Moolenaar 63f98a39caSBram Moolenaar " NOTE: '/.../opt/myte' forwardly matches with '/.../opt/mytest' 64f98a39caSBram Moolenaar call mkdir(fnamemodify(s:plugdir, ':h') . '/myte', 'p') 65f98a39caSBram Moolenaar let rtp = &rtp 66f98a39caSBram Moolenaar packadd myte 67f98a39caSBram Moolenaar 68f98a39caSBram Moolenaar " Check the path of 'myte' is added 69f98a39caSBram Moolenaar call assert_true(len(&rtp) > len(rtp)) 70f98a39caSBram Moolenaar call assert_match('/testdir/Xdir/pack/mine/opt/myte\($\|,\)', &rtp) 71f98a39caSBram Moolenaar 72be82c254SBram Moolenaar " Check exception 73be82c254SBram Moolenaar call assert_fails("packadd directorynotfound", 'E919:') 74be82c254SBram Moolenaar call assert_fails("packadd", 'E471:') 75f3654827SBram Moolenaarendfunc 76f3654827SBram Moolenaar 779e1d399eSBram Moolenaarfunc Test_packadd_start() 789e1d399eSBram Moolenaar let plugdir = s:topdir . '/pack/mine/start/other' 799e1d399eSBram Moolenaar call mkdir(plugdir . '/plugin', 'p') 809e1d399eSBram Moolenaar set rtp& 819e1d399eSBram Moolenaar let rtp = &rtp 829e1d399eSBram Moolenaar filetype on 839e1d399eSBram Moolenaar 849e1d399eSBram Moolenaar exe 'split ' . plugdir . '/plugin/test.vim' 859e1d399eSBram Moolenaar call setline(1, 'let g:plugin_works = 24') 869e1d399eSBram Moolenaar wq 879e1d399eSBram Moolenaar 889e1d399eSBram Moolenaar packadd other 899e1d399eSBram Moolenaar 909e1d399eSBram Moolenaar call assert_equal(24, g:plugin_works) 919e1d399eSBram Moolenaar call assert_true(len(&rtp) > len(rtp)) 922374faaeSBram Moolenaar call assert_match('/testdir/Xdir/pack/mine/start/other\($\|,\)', &rtp) 939e1d399eSBram Moolenaarendfunc 949e1d399eSBram Moolenaar 95f3654827SBram Moolenaarfunc Test_packadd_noload() 96f3654827SBram Moolenaar call mkdir(s:plugdir . '/plugin', 'p') 97f3654827SBram Moolenaar call mkdir(s:plugdir . '/syntax', 'p') 98f3654827SBram Moolenaar set rtp& 99f3654827SBram Moolenaar let rtp = &rtp 100f3654827SBram Moolenaar 101f3654827SBram Moolenaar exe 'split ' . s:plugdir . '/plugin/test.vim' 102f3654827SBram Moolenaar call setline(1, 'let g:plugin_works = 42') 103f3654827SBram Moolenaar wq 104f3654827SBram Moolenaar let g:plugin_works = 0 105f3654827SBram Moolenaar 106f3654827SBram Moolenaar packadd! mytest 107f3654827SBram Moolenaar 108f3654827SBram Moolenaar call assert_true(len(&rtp) > len(rtp)) 1092374faaeSBram Moolenaar call assert_match('testdir/Xdir/pack/mine/opt/mytest\($\|,\)', &rtp) 110f3654827SBram Moolenaar call assert_equal(0, g:plugin_works) 111f3654827SBram Moolenaar 112f3654827SBram Moolenaar " check the path is not added twice 113f3654827SBram Moolenaar let new_rtp = &rtp 114f3654827SBram Moolenaar packadd! mytest 115f3654827SBram Moolenaar call assert_equal(new_rtp, &rtp) 116f3654827SBram Moolenaarendfunc 11735ca0e7aSBram Moolenaar 1182f9e5755SBram Moolenaarfunc Test_packadd_symlink_dir() 119*6d91bcb4SBram Moolenaar CheckUnix 1202f9e5755SBram Moolenaar let top2_dir = s:topdir . '/Xdir2' 1212f9e5755SBram Moolenaar let real_dir = s:topdir . '/Xsym' 122644df41cSBram Moolenaar call mkdir(real_dir, 'p') 123644df41cSBram Moolenaar exec "silent !ln -s Xsym" top2_dir 1242f9e5755SBram Moolenaar let &rtp = top2_dir . ',' . top2_dir . '/after' 1252f9e5755SBram Moolenaar let &packpath = &rtp 1262f9e5755SBram Moolenaar 1272f9e5755SBram Moolenaar let s:plugdir = top2_dir . '/pack/mine/opt/mytest' 1282f9e5755SBram Moolenaar call mkdir(s:plugdir . '/plugin', 'p') 1292f9e5755SBram Moolenaar 1302f9e5755SBram Moolenaar exe 'split ' . s:plugdir . '/plugin/test.vim' 1312f9e5755SBram Moolenaar call setline(1, 'let g:plugin_works = 44') 1322f9e5755SBram Moolenaar wq 1332f9e5755SBram Moolenaar let g:plugin_works = 0 1342f9e5755SBram Moolenaar 1352f9e5755SBram Moolenaar packadd mytest 1362f9e5755SBram Moolenaar 1372f9e5755SBram Moolenaar " Must have been inserted in the middle, not at the end 1382374faaeSBram Moolenaar call assert_match('/pack/mine/opt/mytest,', &rtp) 1392f9e5755SBram Moolenaar call assert_equal(44, g:plugin_works) 1402f9e5755SBram Moolenaar 1412f9e5755SBram Moolenaar " No change when doing it again. 1422f9e5755SBram Moolenaar let rtp_before = &rtp 1432f9e5755SBram Moolenaar packadd mytest 1442f9e5755SBram Moolenaar call assert_equal(rtp_before, &rtp) 1452f9e5755SBram Moolenaar 1462f9e5755SBram Moolenaar set rtp& 1472f9e5755SBram Moolenaar let rtp = &rtp 14824f8f543SBram Moolenaar exec "silent !rm" top2_dir 1492f9e5755SBram Moolenaarendfunc 1502f9e5755SBram Moolenaar 1512374faaeSBram Moolenaarfunc Test_packadd_symlink_dir2() 152*6d91bcb4SBram Moolenaar CheckUnix 1532374faaeSBram Moolenaar let top2_dir = s:topdir . '/Xdir2' 1542374faaeSBram Moolenaar let real_dir = s:topdir . '/Xsym/pack' 1552374faaeSBram Moolenaar call mkdir(top2_dir, 'p') 1562374faaeSBram Moolenaar call mkdir(real_dir, 'p') 1572374faaeSBram Moolenaar let &rtp = top2_dir . ',' . top2_dir . '/after' 1582374faaeSBram Moolenaar let &packpath = &rtp 1592374faaeSBram Moolenaar 1602374faaeSBram Moolenaar exec "silent !ln -s ../Xsym/pack" top2_dir . '/pack' 1612374faaeSBram Moolenaar let s:plugdir = top2_dir . '/pack/mine/opt/mytest' 1622374faaeSBram Moolenaar call mkdir(s:plugdir . '/plugin', 'p') 1632374faaeSBram Moolenaar 1642374faaeSBram Moolenaar exe 'split ' . s:plugdir . '/plugin/test.vim' 1652374faaeSBram Moolenaar call setline(1, 'let g:plugin_works = 48') 1662374faaeSBram Moolenaar wq 1672374faaeSBram Moolenaar let g:plugin_works = 0 1682374faaeSBram Moolenaar 1692374faaeSBram Moolenaar packadd mytest 1702374faaeSBram Moolenaar 1712374faaeSBram Moolenaar " Must have been inserted in the middle, not at the end 1722374faaeSBram Moolenaar call assert_match('/Xdir2/pack/mine/opt/mytest,', &rtp) 1732374faaeSBram Moolenaar call assert_equal(48, g:plugin_works) 1742374faaeSBram Moolenaar 1752374faaeSBram Moolenaar " No change when doing it again. 1762374faaeSBram Moolenaar let rtp_before = &rtp 1772374faaeSBram Moolenaar packadd mytest 1782374faaeSBram Moolenaar call assert_equal(rtp_before, &rtp) 1792374faaeSBram Moolenaar 1802374faaeSBram Moolenaar set rtp& 1812374faaeSBram Moolenaar let rtp = &rtp 1822374faaeSBram Moolenaar exec "silent !rm" top2_dir . '/pack' 1832374faaeSBram Moolenaar exec "silent !rmdir" top2_dir 1842374faaeSBram Moolenaarendfunc 1852374faaeSBram Moolenaar 18635ca0e7aSBram Moolenaar" Check command-line completion for 'packadd' 18735ca0e7aSBram Moolenaarfunc Test_packadd_completion() 18835ca0e7aSBram Moolenaar let optdir1 = &packpath . '/pack/mine/opt' 18935ca0e7aSBram Moolenaar let optdir2 = &packpath . '/pack/candidate/opt' 19035ca0e7aSBram Moolenaar 19135ca0e7aSBram Moolenaar call mkdir(optdir1 . '/pluginA', 'p') 19235ca0e7aSBram Moolenaar call mkdir(optdir1 . '/pluginC', 'p') 19335ca0e7aSBram Moolenaar call mkdir(optdir2 . '/pluginB', 'p') 19435ca0e7aSBram Moolenaar call mkdir(optdir2 . '/pluginC', 'p') 19535ca0e7aSBram Moolenaar 19635ca0e7aSBram Moolenaar let li = [] 19735ca0e7aSBram Moolenaar call feedkeys(":packadd \<Tab>')\<C-B>call add(li, '\<CR>", 't') 19835ca0e7aSBram Moolenaar call feedkeys(":packadd " . repeat("\<Tab>", 2) . "')\<C-B>call add(li, '\<CR>", 't') 19935ca0e7aSBram Moolenaar call feedkeys(":packadd " . repeat("\<Tab>", 3) . "')\<C-B>call add(li, '\<CR>", 't') 20035ca0e7aSBram Moolenaar call feedkeys(":packadd " . repeat("\<Tab>", 4) . "')\<C-B>call add(li, '\<CR>", 'tx') 20135ca0e7aSBram Moolenaar call assert_equal("packadd pluginA", li[0]) 20235ca0e7aSBram Moolenaar call assert_equal("packadd pluginB", li[1]) 20335ca0e7aSBram Moolenaar call assert_equal("packadd pluginC", li[2]) 20435ca0e7aSBram Moolenaar call assert_equal("packadd ", li[3]) 20535ca0e7aSBram Moolenaarendfunc 2062d8f56acSBram Moolenaar 2072d8f56acSBram Moolenaarfunc Test_packloadall() 20849b27326SBram Moolenaar " plugin foo with an autoload directory 20949b27326SBram Moolenaar let fooplugindir = &packpath . '/pack/mine/start/foo/plugin' 21049b27326SBram Moolenaar call mkdir(fooplugindir, 'p') 21149b27326SBram Moolenaar call writefile(['let g:plugin_foo_number = 1234', 21249b27326SBram Moolenaar \ 'let g:plugin_foo_auto = bbb#value', 21349b27326SBram Moolenaar \ 'let g:plugin_extra_auto = extra#value'], fooplugindir . '/bar.vim') 21449b27326SBram Moolenaar let fooautodir = &packpath . '/pack/mine/start/foo/autoload' 21549b27326SBram Moolenaar call mkdir(fooautodir, 'p') 21649b27326SBram Moolenaar call writefile(['let bar#value = 77'], fooautodir . '/bar.vim') 21749b27326SBram Moolenaar 21849b27326SBram Moolenaar " plugin aaa with an autoload directory 21949b27326SBram Moolenaar let aaaplugindir = &packpath . '/pack/mine/start/aaa/plugin' 22049b27326SBram Moolenaar call mkdir(aaaplugindir, 'p') 22149b27326SBram Moolenaar call writefile(['let g:plugin_aaa_number = 333', 22249b27326SBram Moolenaar \ 'let g:plugin_aaa_auto = bar#value'], aaaplugindir . '/bbb.vim') 22349b27326SBram Moolenaar let aaaautodir = &packpath . '/pack/mine/start/aaa/autoload' 22449b27326SBram Moolenaar call mkdir(aaaautodir, 'p') 22549b27326SBram Moolenaar call writefile(['let bbb#value = 55'], aaaautodir . '/bbb.vim') 22649b27326SBram Moolenaar 22749b27326SBram Moolenaar " plugin extra with only an autoload directory 22849b27326SBram Moolenaar let extraautodir = &packpath . '/pack/mine/start/extra/autoload' 22949b27326SBram Moolenaar call mkdir(extraautodir, 'p') 23049b27326SBram Moolenaar call writefile(['let extra#value = 99'], extraautodir . '/extra.vim') 23149b27326SBram Moolenaar 2322d8f56acSBram Moolenaar packloadall 2332d8f56acSBram Moolenaar call assert_equal(1234, g:plugin_foo_number) 23449b27326SBram Moolenaar call assert_equal(55, g:plugin_foo_auto) 23549b27326SBram Moolenaar call assert_equal(99, g:plugin_extra_auto) 23649b27326SBram Moolenaar call assert_equal(333, g:plugin_aaa_number) 23749b27326SBram Moolenaar call assert_equal(77, g:plugin_aaa_auto) 2382d8f56acSBram Moolenaar 2392d8f56acSBram Moolenaar " only works once 24049b27326SBram Moolenaar call writefile(['let g:plugin_bar_number = 4321'], fooplugindir . '/bar2.vim') 2412d8f56acSBram Moolenaar packloadall 2422d8f56acSBram Moolenaar call assert_false(exists('g:plugin_bar_number')) 2432d8f56acSBram Moolenaar 2442d8f56acSBram Moolenaar " works when ! used 2452d8f56acSBram Moolenaar packloadall! 2462d8f56acSBram Moolenaar call assert_equal(4321, g:plugin_bar_number) 2472d8f56acSBram Moolenaarendfunc 2486bef5306SBram Moolenaar 2496bef5306SBram Moolenaarfunc Test_helptags() 2506bef5306SBram Moolenaar let docdir1 = &packpath . '/pack/mine/start/foo/doc' 2516bef5306SBram Moolenaar let docdir2 = &packpath . '/pack/mine/start/bar/doc' 2526bef5306SBram Moolenaar call mkdir(docdir1, 'p') 2536bef5306SBram Moolenaar call mkdir(docdir2, 'p') 2546bef5306SBram Moolenaar call writefile(['look here: *look-here*'], docdir1 . '/bar.txt') 2556bef5306SBram Moolenaar call writefile(['look away: *look-away*'], docdir2 . '/foo.txt') 2566bef5306SBram Moolenaar exe 'set rtp=' . &packpath . '/pack/mine/start/foo,' . &packpath . '/pack/mine/start/bar' 2576bef5306SBram Moolenaar 2586bef5306SBram Moolenaar helptags ALL 2596bef5306SBram Moolenaar 2606bef5306SBram Moolenaar let tags1 = readfile(docdir1 . '/tags') 2612374faaeSBram Moolenaar call assert_match('look-here', tags1[0]) 2626bef5306SBram Moolenaar let tags2 = readfile(docdir2 . '/tags') 2632374faaeSBram Moolenaar call assert_match('look-away', tags2[0]) 2645d98dc2aSBram Moolenaar 2655d98dc2aSBram Moolenaar call assert_fails('helptags abcxyz', 'E150:') 2666bef5306SBram Moolenaarendfunc 2677f8989ddSBram Moolenaar 2687f8989ddSBram Moolenaarfunc Test_colorscheme() 2697f8989ddSBram Moolenaar let colordirrun = &packpath . '/runtime/colors' 2707f8989ddSBram Moolenaar let colordirstart = &packpath . '/pack/mine/start/foo/colors' 2717f8989ddSBram Moolenaar let colordiropt = &packpath . '/pack/mine/opt/bar/colors' 2727f8989ddSBram Moolenaar call mkdir(colordirrun, 'p') 2737f8989ddSBram Moolenaar call mkdir(colordirstart, 'p') 2747f8989ddSBram Moolenaar call mkdir(colordiropt, 'p') 2757f8989ddSBram Moolenaar call writefile(['let g:found_one = 1'], colordirrun . '/one.vim') 2767f8989ddSBram Moolenaar call writefile(['let g:found_two = 1'], colordirstart . '/two.vim') 2777f8989ddSBram Moolenaar call writefile(['let g:found_three = 1'], colordiropt . '/three.vim') 2787f8989ddSBram Moolenaar exe 'set rtp=' . &packpath . '/runtime' 2797f8989ddSBram Moolenaar 2807f8989ddSBram Moolenaar colorscheme one 2817f8989ddSBram Moolenaar call assert_equal(1, g:found_one) 2827f8989ddSBram Moolenaar colorscheme two 2837f8989ddSBram Moolenaar call assert_equal(1, g:found_two) 2847f8989ddSBram Moolenaar colorscheme three 2857f8989ddSBram Moolenaar call assert_equal(1, g:found_three) 2867f8989ddSBram Moolenaarendfunc 2878dcf259dSBram Moolenaar 28852f9c190SBram Moolenaarfunc Test_colorscheme_completion() 28952f9c190SBram Moolenaar let colordirrun = &packpath . '/runtime/colors' 29052f9c190SBram Moolenaar let colordirstart = &packpath . '/pack/mine/start/foo/colors' 29152f9c190SBram Moolenaar let colordiropt = &packpath . '/pack/mine/opt/bar/colors' 29252f9c190SBram Moolenaar call mkdir(colordirrun, 'p') 29352f9c190SBram Moolenaar call mkdir(colordirstart, 'p') 29452f9c190SBram Moolenaar call mkdir(colordiropt, 'p') 29552f9c190SBram Moolenaar call writefile(['let g:found_one = 1'], colordirrun . '/one.vim') 29652f9c190SBram Moolenaar call writefile(['let g:found_two = 1'], colordirstart . '/two.vim') 29752f9c190SBram Moolenaar call writefile(['let g:found_three = 1'], colordiropt . '/three.vim') 29852f9c190SBram Moolenaar exe 'set rtp=' . &packpath . '/runtime' 29952f9c190SBram Moolenaar 30052f9c190SBram Moolenaar let li=[] 30152f9c190SBram Moolenaar call feedkeys(":colorscheme " . repeat("\<Tab>", 1) . "')\<C-B>call add(li, '\<CR>", 't') 30252f9c190SBram Moolenaar call feedkeys(":colorscheme " . repeat("\<Tab>", 2) . "')\<C-B>call add(li, '\<CR>", 't') 30352f9c190SBram Moolenaar call feedkeys(":colorscheme " . repeat("\<Tab>", 3) . "')\<C-B>call add(li, '\<CR>", 't') 30452f9c190SBram Moolenaar call feedkeys(":colorscheme " . repeat("\<Tab>", 4) . "')\<C-B>call add(li, '\<CR>", 'tx') 30552f9c190SBram Moolenaar call assert_equal("colorscheme one", li[0]) 30652f9c190SBram Moolenaar call assert_equal("colorscheme three", li[1]) 30752f9c190SBram Moolenaar call assert_equal("colorscheme two", li[2]) 30852f9c190SBram Moolenaar call assert_equal("colorscheme ", li[3]) 30952f9c190SBram Moolenaarendfunc 31052f9c190SBram Moolenaar 3118dcf259dSBram Moolenaarfunc Test_runtime() 3128dcf259dSBram Moolenaar let rundir = &packpath . '/runtime/extra' 3138dcf259dSBram Moolenaar let startdir = &packpath . '/pack/mine/start/foo/extra' 3148dcf259dSBram Moolenaar let optdir = &packpath . '/pack/mine/opt/bar/extra' 3158dcf259dSBram Moolenaar call mkdir(rundir, 'p') 3168dcf259dSBram Moolenaar call mkdir(startdir, 'p') 3178dcf259dSBram Moolenaar call mkdir(optdir, 'p') 3188dcf259dSBram Moolenaar call writefile(['let g:sequence .= "run"'], rundir . '/bar.vim') 3198dcf259dSBram Moolenaar call writefile(['let g:sequence .= "start"'], startdir . '/bar.vim') 3208dcf259dSBram Moolenaar call writefile(['let g:sequence .= "foostart"'], startdir . '/foo.vim') 3218dcf259dSBram Moolenaar call writefile(['let g:sequence .= "opt"'], optdir . '/bar.vim') 3228dcf259dSBram Moolenaar call writefile(['let g:sequence .= "xxxopt"'], optdir . '/xxx.vim') 3238dcf259dSBram Moolenaar exe 'set rtp=' . &packpath . '/runtime' 3248dcf259dSBram Moolenaar 3258dcf259dSBram Moolenaar let g:sequence = '' 3268dcf259dSBram Moolenaar runtime extra/bar.vim 3278dcf259dSBram Moolenaar call assert_equal('run', g:sequence) 3288dcf259dSBram Moolenaar let g:sequence = '' 3298dcf259dSBram Moolenaar runtime START extra/bar.vim 3308dcf259dSBram Moolenaar call assert_equal('start', g:sequence) 3318dcf259dSBram Moolenaar let g:sequence = '' 3328dcf259dSBram Moolenaar runtime OPT extra/bar.vim 3338dcf259dSBram Moolenaar call assert_equal('opt', g:sequence) 3348dcf259dSBram Moolenaar let g:sequence = '' 3358dcf259dSBram Moolenaar runtime PACK extra/bar.vim 3368dcf259dSBram Moolenaar call assert_equal('start', g:sequence) 3378dcf259dSBram Moolenaar let g:sequence = '' 3388dcf259dSBram Moolenaar runtime! PACK extra/bar.vim 3398dcf259dSBram Moolenaar call assert_equal('startopt', g:sequence) 3408dcf259dSBram Moolenaar let g:sequence = '' 3418dcf259dSBram Moolenaar runtime PACK extra/xxx.vim 3428dcf259dSBram Moolenaar call assert_equal('xxxopt', g:sequence) 3438dcf259dSBram Moolenaar 3448dcf259dSBram Moolenaar let g:sequence = '' 3458dcf259dSBram Moolenaar runtime ALL extra/bar.vim 3468dcf259dSBram Moolenaar call assert_equal('run', g:sequence) 3478dcf259dSBram Moolenaar let g:sequence = '' 3488dcf259dSBram Moolenaar runtime ALL extra/foo.vim 3498dcf259dSBram Moolenaar call assert_equal('foostart', g:sequence) 3508dcf259dSBram Moolenaar let g:sequence = '' 3518dcf259dSBram Moolenaar runtime! ALL extra/xxx.vim 3528dcf259dSBram Moolenaar call assert_equal('xxxopt', g:sequence) 3538dcf259dSBram Moolenaar let g:sequence = '' 3548dcf259dSBram Moolenaar runtime! ALL extra/bar.vim 3558dcf259dSBram Moolenaar call assert_equal('runstartopt', g:sequence) 3568dcf259dSBram Moolenaarendfunc 3575d98dc2aSBram Moolenaar 3585d98dc2aSBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 359