annotate src/testdir/test_packadd.vim @ 35172:c98f002b1fe4 default tip

runtime(doc): fix typo in usr_52.txt Commit: https://github.com/vim/vim/commit/b7258738f80f26be302a84a99f968b3bdc2f29bb Author: Christian Brabandt <cb@256bit.org> Date: Sun May 12 19:04:47 2024 +0200 runtime(doc): fix typo in usr_52.txt fixes: https://github.com/vim/vim/issues/14758 Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 12 May 2024 19:15:08 +0200
parents 5d3c0f914f26
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Tests for 'packpath' and :packadd
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 19231
diff changeset
3 source check.vim
11091
ae45d497868f patch 8.0.0433: beeps when running tests
Christian Brabandt <cb@256bit.org>
parents: 10873
diff changeset
4
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 func SetUp()
29970
d891115c0aea patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents: 27495
diff changeset
6 let s:topdir = getcwd() . '/Xppdir'
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 exe 'set packpath=' . s:topdir
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 let s:plugdir = s:topdir . '/pack/mine/opt/mytest'
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 endfunc
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 func TearDown()
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 call delete(s:topdir, 'rf')
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 endfunc
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 func Test_packadd()
14681
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
16 if !exists('s:plugdir')
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
17 echomsg 'when running this test manually, call SetUp() first'
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
18 return
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
19 endif
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
20
8823
6d92bbe6c7de commit https://github.com/vim/vim/commit/71fb0c146bef08dc276fc5793bd47366e6e0f32a
Christian Brabandt <cb@256bit.org>
parents: 8528
diff changeset
21 call mkdir(s:plugdir . '/plugin/also', 'p')
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 call mkdir(s:plugdir . '/ftdetect', 'p')
9112
932f94b2d8c2 commit https://github.com/vim/vim/commit/a57024453115592b8847af40ddd965a33898e390
Christian Brabandt <cb@256bit.org>
parents: 8849
diff changeset
23 call mkdir(s:plugdir . '/after', 'p')
32206
5372bf23bf72 patch 9.0.1434: crash when adding package already in 'runtimepath'
Bram Moolenaar <Bram@vim.org>
parents: 31819
diff changeset
24
5372bf23bf72 patch 9.0.1434: crash when adding package already in 'runtimepath'
Bram Moolenaar <Bram@vim.org>
parents: 31819
diff changeset
25 " This used to crash Vim
5372bf23bf72 patch 9.0.1434: crash when adding package already in 'runtimepath'
Bram Moolenaar <Bram@vim.org>
parents: 31819
diff changeset
26 let &rtp = 'nosuchdir,' . s:plugdir . '/after'
5372bf23bf72 patch 9.0.1434: crash when adding package already in 'runtimepath'
Bram Moolenaar <Bram@vim.org>
parents: 31819
diff changeset
27 packadd mytest
5372bf23bf72 patch 9.0.1434: crash when adding package already in 'runtimepath'
Bram Moolenaar <Bram@vim.org>
parents: 31819
diff changeset
28 " plugdir should be inserted before plugdir/after
5372bf23bf72 patch 9.0.1434: crash when adding package already in 'runtimepath'
Bram Moolenaar <Bram@vim.org>
parents: 31819
diff changeset
29 call assert_match('^nosuchdir,' . s:plugdir . ',', &rtp)
5372bf23bf72 patch 9.0.1434: crash when adding package already in 'runtimepath'
Bram Moolenaar <Bram@vim.org>
parents: 31819
diff changeset
30
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31 set rtp&
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32 let rtp = &rtp
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33 filetype on
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
34
14681
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
35 let rtp_entries = split(rtp, ',')
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
36 for entry in rtp_entries
31819
aec031683d61 patch 9.0.1242: code for :runtime completion is not consistent
Bram Moolenaar <Bram@vim.org>
parents: 31811
diff changeset
37 if entry =~? '\<after\>'
14681
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
38 let first_after_entry = entry
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
39 break
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
40 endif
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
41 endfor
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
42
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
43 exe 'split ' . s:plugdir . '/plugin/test.vim'
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
44 call setline(1, 'let g:plugin_works = 42')
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
45 wq
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
46
8823
6d92bbe6c7de commit https://github.com/vim/vim/commit/71fb0c146bef08dc276fc5793bd47366e6e0f32a
Christian Brabandt <cb@256bit.org>
parents: 8528
diff changeset
47 exe 'split ' . s:plugdir . '/plugin/also/loaded.vim'
6d92bbe6c7de commit https://github.com/vim/vim/commit/71fb0c146bef08dc276fc5793bd47366e6e0f32a
Christian Brabandt <cb@256bit.org>
parents: 8528
diff changeset
48 call setline(1, 'let g:plugin_also_works = 77')
6d92bbe6c7de commit https://github.com/vim/vim/commit/71fb0c146bef08dc276fc5793bd47366e6e0f32a
Christian Brabandt <cb@256bit.org>
parents: 8528
diff changeset
49 wq
6d92bbe6c7de commit https://github.com/vim/vim/commit/71fb0c146bef08dc276fc5793bd47366e6e0f32a
Christian Brabandt <cb@256bit.org>
parents: 8528
diff changeset
50
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
51 exe 'split ' . s:plugdir . '/ftdetect/test.vim'
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
52 call setline(1, 'let g:ftdetect_works = 17')
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
53 wq
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
54
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
55 packadd mytest
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
56
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
57 call assert_equal(42, g:plugin_works)
8823
6d92bbe6c7de commit https://github.com/vim/vim/commit/71fb0c146bef08dc276fc5793bd47366e6e0f32a
Christian Brabandt <cb@256bit.org>
parents: 8528
diff changeset
58 call assert_equal(77, g:plugin_also_works)
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
59 call assert_equal(17, g:ftdetect_works)
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
60 call assert_true(len(&rtp) > len(rtp))
29970
d891115c0aea patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents: 27495
diff changeset
61 call assert_match('/testdir/Xppdir/pack/mine/opt/mytest\($\|,\)', &rtp)
14681
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
62
29970
d891115c0aea patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents: 27495
diff changeset
63 let new_after = match(&rtp, '/testdir/Xppdir/pack/mine/opt/mytest/after,')
14683
c833cf17a4b1 patch 8.1.0354: packadd test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14681
diff changeset
64 let forwarded = substitute(first_after_entry, '\\', '[/\\\\]', 'g')
c833cf17a4b1 patch 8.1.0354: packadd test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14681
diff changeset
65 let old_after = match(&rtp, ',' . forwarded . '\>')
14681
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
66 call assert_true(new_after > 0, 'rtp is ' . &rtp)
14683
c833cf17a4b1 patch 8.1.0354: packadd test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 14681
diff changeset
67 call assert_true(old_after > 0, 'match ' . forwarded . ' in ' . &rtp)
14681
285b051979a6 patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Christian Brabandt <cb@256bit.org>
parents: 13724
diff changeset
68 call assert_true(new_after < old_after, 'rtp is ' . &rtp)
8416
1a6527cce675 commit https://github.com/vim/vim/commit/be82c254862e475a582c0717455e1db6bf96b0d0
Christian Brabandt <cb@256bit.org>
parents: 8402
diff changeset
69
13724
5ef1e6170589 patch 8.0.1734: package directory not added to 'rtp' if prefix matches
Christian Brabandt <cb@256bit.org>
parents: 13190
diff changeset
70 " NOTE: '/.../opt/myte' forwardly matches with '/.../opt/mytest'
5ef1e6170589 patch 8.0.1734: package directory not added to 'rtp' if prefix matches
Christian Brabandt <cb@256bit.org>
parents: 13190
diff changeset
71 call mkdir(fnamemodify(s:plugdir, ':h') . '/myte', 'p')
5ef1e6170589 patch 8.0.1734: package directory not added to 'rtp' if prefix matches
Christian Brabandt <cb@256bit.org>
parents: 13190
diff changeset
72 let rtp = &rtp
5ef1e6170589 patch 8.0.1734: package directory not added to 'rtp' if prefix matches
Christian Brabandt <cb@256bit.org>
parents: 13190
diff changeset
73 packadd myte
5ef1e6170589 patch 8.0.1734: package directory not added to 'rtp' if prefix matches
Christian Brabandt <cb@256bit.org>
parents: 13190
diff changeset
74
5ef1e6170589 patch 8.0.1734: package directory not added to 'rtp' if prefix matches
Christian Brabandt <cb@256bit.org>
parents: 13190
diff changeset
75 " Check the path of 'myte' is added
5ef1e6170589 patch 8.0.1734: package directory not added to 'rtp' if prefix matches
Christian Brabandt <cb@256bit.org>
parents: 13190
diff changeset
76 call assert_true(len(&rtp) > len(rtp))
29970
d891115c0aea patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents: 27495
diff changeset
77 call assert_match('/testdir/Xppdir/pack/mine/opt/myte\($\|,\)', &rtp)
13724
5ef1e6170589 patch 8.0.1734: package directory not added to 'rtp' if prefix matches
Christian Brabandt <cb@256bit.org>
parents: 13190
diff changeset
78
8416
1a6527cce675 commit https://github.com/vim/vim/commit/be82c254862e475a582c0717455e1db6bf96b0d0
Christian Brabandt <cb@256bit.org>
parents: 8402
diff changeset
79 " Check exception
1a6527cce675 commit https://github.com/vim/vim/commit/be82c254862e475a582c0717455e1db6bf96b0d0
Christian Brabandt <cb@256bit.org>
parents: 8402
diff changeset
80 call assert_fails("packadd directorynotfound", 'E919:')
1a6527cce675 commit https://github.com/vim/vim/commit/be82c254862e475a582c0717455e1db6bf96b0d0
Christian Brabandt <cb@256bit.org>
parents: 8402
diff changeset
81 call assert_fails("packadd", 'E471:')
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
82 endfunc
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
83
13045
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
84 func Test_packadd_start()
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
85 let plugdir = s:topdir . '/pack/mine/start/other'
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
86 call mkdir(plugdir . '/plugin', 'p')
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
87 set rtp&
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
88 let rtp = &rtp
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
89 filetype on
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
90
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
91 exe 'split ' . plugdir . '/plugin/test.vim'
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
92 call setline(1, 'let g:plugin_works = 24')
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
93 wq
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
94
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
95 packadd other
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
96
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
97 call assert_equal(24, g:plugin_works)
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
98 call assert_true(len(&rtp) > len(rtp))
29970
d891115c0aea patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents: 27495
diff changeset
99 call assert_match('/testdir/Xppdir/pack/mine/start/other\($\|,\)', &rtp)
13045
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
100 endfunc
afd60028f7b7 patch 8.0.1398: :packadd does not load packages from the "start" directory
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
101
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
102 func Test_packadd_noload()
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
103 call mkdir(s:plugdir . '/plugin', 'p')
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
104 call mkdir(s:plugdir . '/syntax', 'p')
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
105 set rtp&
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
106 let rtp = &rtp
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
107
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
108 exe 'split ' . s:plugdir . '/plugin/test.vim'
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
109 call setline(1, 'let g:plugin_works = 42')
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
110 wq
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
111 let g:plugin_works = 0
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
112
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
113 packadd! mytest
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
114
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
115 call assert_true(len(&rtp) > len(rtp))
29970
d891115c0aea patch 9.0.0323: using common name in tests leads to flaky tests
Bram Moolenaar <Bram@vim.org>
parents: 27495
diff changeset
116 call assert_match('testdir/Xppdir/pack/mine/opt/mytest\($\|,\)', &rtp)
8388
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
117 call assert_equal(0, g:plugin_works)
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
118
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
119 " check the path is not added twice
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
120 let new_rtp = &rtp
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
121 packadd! mytest
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
122 call assert_equal(new_rtp, &rtp)
f5972de59001 commit https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
123 endfunc
8402
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
124
10837
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
125 func Test_packadd_symlink_dir()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 19231
diff changeset
126 CheckUnix
10837
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
127 let top2_dir = s:topdir . '/Xdir2'
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
128 let real_dir = s:topdir . '/Xsym'
11099
613d9bcd7a52 patch 8.0.0437: packadd test does not fully work
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
129 call mkdir(real_dir, 'p')
613d9bcd7a52 patch 8.0.0437: packadd test does not fully work
Christian Brabandt <cb@256bit.org>
parents: 11091
diff changeset
130 exec "silent !ln -s Xsym" top2_dir
10837
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
131 let &rtp = top2_dir . ',' . top2_dir . '/after'
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
132 let &packpath = &rtp
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
133
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
134 let s:plugdir = top2_dir . '/pack/mine/opt/mytest'
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
135 call mkdir(s:plugdir . '/plugin', 'p')
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
136
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
137 exe 'split ' . s:plugdir . '/plugin/test.vim'
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
138 call setline(1, 'let g:plugin_works = 44')
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
139 wq
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
140 let g:plugin_works = 0
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
141
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
142 packadd mytest
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
143
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
144 " Must have been inserted in the middle, not at the end
13190
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
145 call assert_match('/pack/mine/opt/mytest,', &rtp)
10837
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
146 call assert_equal(44, g:plugin_works)
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
147
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
148 " No change when doing it again.
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
149 let rtp_before = &rtp
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
150 packadd mytest
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
151 call assert_equal(rtp_before, &rtp)
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
152
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
153 set rtp&
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
154 let rtp = &rtp
10873
fba4d2f22425 patch 8.0.0326: packadd test uses wrong directory name
Christian Brabandt <cb@256bit.org>
parents: 10871
diff changeset
155 exec "silent !rm" top2_dir
10837
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
156 endfunc
437cf0fe2138 patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Christian Brabandt <cb@256bit.org>
parents: 9112
diff changeset
157
13190
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
158 func Test_packadd_symlink_dir2()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 19231
diff changeset
159 CheckUnix
13190
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
160 let top2_dir = s:topdir . '/Xdir2'
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
161 let real_dir = s:topdir . '/Xsym/pack'
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
162 call mkdir(top2_dir, 'p')
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
163 call mkdir(real_dir, 'p')
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
164 let &rtp = top2_dir . ',' . top2_dir . '/after'
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
165 let &packpath = &rtp
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
166
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
167 exec "silent !ln -s ../Xsym/pack" top2_dir . '/pack'
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
168 let s:plugdir = top2_dir . '/pack/mine/opt/mytest'
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
169 call mkdir(s:plugdir . '/plugin', 'p')
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
170
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
171 exe 'split ' . s:plugdir . '/plugin/test.vim'
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
172 call setline(1, 'let g:plugin_works = 48')
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
173 wq
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
174 let g:plugin_works = 0
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
175
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
176 packadd mytest
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
177
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
178 " Must have been inserted in the middle, not at the end
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
179 call assert_match('/Xdir2/pack/mine/opt/mytest,', &rtp)
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
180 call assert_equal(48, g:plugin_works)
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
181
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
182 " No change when doing it again.
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
183 let rtp_before = &rtp
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
184 packadd mytest
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
185 call assert_equal(rtp_before, &rtp)
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
186
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
187 set rtp&
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
188 let rtp = &rtp
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
189 exec "silent !rm" top2_dir . '/pack'
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
190 exec "silent !rmdir" top2_dir
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
191 endfunc
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
192
31819
aec031683d61 patch 9.0.1242: code for :runtime completion is not consistent
Bram Moolenaar <Bram@vim.org>
parents: 31811
diff changeset
193 " Check command-line completion for :packadd
8402
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
194 func Test_packadd_completion()
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
195 let optdir1 = &packpath . '/pack/mine/opt'
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
196 let optdir2 = &packpath . '/pack/candidate/opt'
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
197
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
198 call mkdir(optdir1 . '/pluginA', 'p')
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
199 call mkdir(optdir1 . '/pluginC', 'p')
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
200 call writefile([], optdir1 . '/unrelated')
8402
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
201 call mkdir(optdir2 . '/pluginB', 'p')
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
202 call mkdir(optdir2 . '/pluginC', 'p')
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
203 call writefile([], optdir2 . '/unrelated')
8402
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
204
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
205 let li = []
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
206 call feedkeys(":packadd \<Tab>')\<C-B>call add(li, '\<CR>", 't')
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
207 call feedkeys(":packadd " . repeat("\<Tab>", 2) . "')\<C-B>call add(li, '\<CR>", 't')
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
208 call feedkeys(":packadd " . repeat("\<Tab>", 3) . "')\<C-B>call add(li, '\<CR>", 't')
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
209 call feedkeys(":packadd " . repeat("\<Tab>", 4) . "')\<C-B>call add(li, '\<CR>", 'tx')
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
210 call assert_equal("packadd pluginA", li[0])
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
211 call assert_equal("packadd pluginB", li[1])
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
212 call assert_equal("packadd pluginC", li[2])
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
213 call assert_equal("packadd ", li[3])
eed1ca42f9aa commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents: 8388
diff changeset
214 endfunc
8520
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
215
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
216 func Test_packloadall()
8849
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
217 " plugin foo with an autoload directory
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
218 let fooplugindir = &packpath . '/pack/mine/start/foo/plugin'
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
219 call mkdir(fooplugindir, 'p')
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
220 call writefile(['let g:plugin_foo_number = 1234',
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
221 \ 'let g:plugin_foo_auto = bbb#value',
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
222 \ 'let g:plugin_extra_auto = extra#value'], fooplugindir . '/bar.vim')
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
223 let fooautodir = &packpath . '/pack/mine/start/foo/autoload'
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
224 call mkdir(fooautodir, 'p')
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
225 call writefile(['let bar#value = 77'], fooautodir . '/bar.vim')
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
226
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
227 " plugin aaa with an autoload directory
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
228 let aaaplugindir = &packpath . '/pack/mine/start/aaa/plugin'
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
229 call mkdir(aaaplugindir, 'p')
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
230 call writefile(['let g:plugin_aaa_number = 333',
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
231 \ 'let g:plugin_aaa_auto = bar#value'], aaaplugindir . '/bbb.vim')
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
232 let aaaautodir = &packpath . '/pack/mine/start/aaa/autoload'
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
233 call mkdir(aaaautodir, 'p')
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
234 call writefile(['let bbb#value = 55'], aaaautodir . '/bbb.vim')
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
235
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
236 " plugin extra with only an autoload directory
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
237 let extraautodir = &packpath . '/pack/mine/start/extra/autoload'
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
238 call mkdir(extraautodir, 'p')
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
239 call writefile(['let extra#value = 99'], extraautodir . '/extra.vim')
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
240
8520
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
241 packloadall
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
242 call assert_equal(1234, g:plugin_foo_number)
8849
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
243 call assert_equal(55, g:plugin_foo_auto)
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
244 call assert_equal(99, g:plugin_extra_auto)
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
245 call assert_equal(333, g:plugin_aaa_number)
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
246 call assert_equal(77, g:plugin_aaa_auto)
8520
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
247
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
248 " only works once
8849
9f40a379ff1e commit https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
Christian Brabandt <cb@256bit.org>
parents: 8823
diff changeset
249 call writefile(['let g:plugin_bar_number = 4321'], fooplugindir . '/bar2.vim')
8520
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
250 packloadall
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
251 call assert_false(exists('g:plugin_bar_number'))
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
252
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
253 " works when ! used
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
254 packloadall!
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
255 call assert_equal(4321, g:plugin_bar_number)
b4350a4d1e01 commit https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
256 endfunc
8522
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
257
27495
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
258 func Test_start_autoload()
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
259 " plugin foo with an autoload directory
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
260 let autodir = &packpath .. '/pack/mine/start/foo/autoload'
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
261 call mkdir(autodir, 'p')
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
262 let fname = autodir .. '/foobar.vim'
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
263 call writefile(['func foobar#test()',
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
264 \ ' return 1666',
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
265 \ 'endfunc'], fname)
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
266
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
267 call assert_equal(1666, foobar#test())
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
268 endfunc
b98c20b53a2d patch 8.2.4275: cannot use an autoload function from a package under start
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
269
8522
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
270 func Test_helptags()
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
271 let docdir1 = &packpath . '/pack/mine/start/foo/doc'
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
272 let docdir2 = &packpath . '/pack/mine/start/bar/doc'
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
273 call mkdir(docdir1, 'p')
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
274 call mkdir(docdir2, 'p')
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
275 call writefile(['look here: *look-here*'], docdir1 . '/bar.txt')
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
276 call writefile(['look away: *look-away*'], docdir2 . '/foo.txt')
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
277 exe 'set rtp=' . &packpath . '/pack/mine/start/foo,' . &packpath . '/pack/mine/start/bar'
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
278
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
279 helptags ALL
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
280
31819
aec031683d61 patch 9.0.1242: code for :runtime completion is not consistent
Bram Moolenaar <Bram@vim.org>
parents: 31811
diff changeset
281 let tags1 = readfile(docdir1 . '/tags')
13190
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
282 call assert_match('look-here', tags1[0])
31819
aec031683d61 patch 9.0.1242: code for :runtime completion is not consistent
Bram Moolenaar <Bram@vim.org>
parents: 31811
diff changeset
283 let tags2 = readfile(docdir2 . '/tags')
13190
9fccd578ce1f patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Christian Brabandt <cb@256bit.org>
parents: 13045
diff changeset
284 call assert_match('look-away', tags2[0])
19231
b8fd7364befd patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 14683
diff changeset
285
b8fd7364befd patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 14683
diff changeset
286 call assert_fails('helptags abcxyz', 'E150:')
8522
721e8d6cb7b5 commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents: 8520
diff changeset
287 endfunc
8524
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
288
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
289 func Test_colorscheme()
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
290 let colordirrun = &packpath . '/runtime/colors'
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
291 let colordirstart = &packpath . '/pack/mine/start/foo/colors'
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
292 let colordiropt = &packpath . '/pack/mine/opt/bar/colors'
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
293 call mkdir(colordirrun, 'p')
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
294 call mkdir(colordirstart, 'p')
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
295 call mkdir(colordiropt, 'p')
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
296 call writefile(['let g:found_one = 1'], colordirrun . '/one.vim')
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
297 call writefile(['let g:found_two = 1'], colordirstart . '/two.vim')
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
298 call writefile(['let g:found_three = 1'], colordiropt . '/three.vim')
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
299 exe 'set rtp=' . &packpath . '/runtime'
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
300
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
301 colorscheme one
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
302 call assert_equal(1, g:found_one)
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
303 colorscheme two
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
304 call assert_equal(1, g:found_two)
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
305 colorscheme three
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
306 call assert_equal(1, g:found_three)
2f57bbe870ea commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents: 8522
diff changeset
307 endfunc
8526
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
308
8528
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
309 func Test_colorscheme_completion()
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
310 let colordirrun = &packpath . '/runtime/colors'
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
311 let colordirstart = &packpath . '/pack/mine/start/foo/colors'
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
312 let colordiropt = &packpath . '/pack/mine/opt/bar/colors'
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
313 call mkdir(colordirrun, 'p')
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
314 call mkdir(colordirstart, 'p')
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
315 call mkdir(colordiropt, 'p')
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
316 call writefile(['let g:found_one = 1'], colordirrun . '/one.vim')
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
317 call writefile(['let g:found_two = 1'], colordirstart . '/two.vim')
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
318 call writefile(['let g:found_three = 1'], colordiropt . '/three.vim')
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
319 exe 'set rtp=' . &packpath . '/runtime'
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
320
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
321 let li=[]
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
322 call feedkeys(":colorscheme " . repeat("\<Tab>", 1) . "')\<C-B>call add(li, '\<CR>", 't')
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
323 call feedkeys(":colorscheme " . repeat("\<Tab>", 2) . "')\<C-B>call add(li, '\<CR>", 't')
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
324 call feedkeys(":colorscheme " . repeat("\<Tab>", 3) . "')\<C-B>call add(li, '\<CR>", 't')
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
325 call feedkeys(":colorscheme " . repeat("\<Tab>", 4) . "')\<C-B>call add(li, '\<CR>", 'tx')
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
326 call assert_equal("colorscheme one", li[0])
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
327 call assert_equal("colorscheme three", li[1])
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
328 call assert_equal("colorscheme two", li[2])
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
329 call assert_equal("colorscheme ", li[3])
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
330 endfunc
630300c7a26c commit https://github.com/vim/vim/commit/52f9c19015df5ee1ee8592b6f3f15b8a57c8f5be
Christian Brabandt <cb@256bit.org>
parents: 8526
diff changeset
331
8526
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
332 func Test_runtime()
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
333 let rundir = &packpath . '/runtime/extra'
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
334 let startdir = &packpath . '/pack/mine/start/foo/extra'
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
335 let optdir = &packpath . '/pack/mine/opt/bar/extra'
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
336 call mkdir(rundir, 'p')
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
337 call mkdir(startdir, 'p')
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
338 call mkdir(optdir, 'p')
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
339 call writefile(['let g:sequence .= "run"'], rundir . '/bar.vim')
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
340 call writefile(['let g:sequence .= "start"'], startdir . '/bar.vim')
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
341 call writefile(['let g:sequence .= "foostart"'], startdir . '/foo.vim')
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
342 call writefile(['let g:sequence .= "opt"'], optdir . '/bar.vim')
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
343 call writefile(['let g:sequence .= "xxxopt"'], optdir . '/xxx.vim')
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
344 exe 'set rtp=' . &packpath . '/runtime'
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
345
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
346 let g:sequence = ''
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
347 runtime extra/bar.vim
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
348 call assert_equal('run', g:sequence)
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
349 let g:sequence = ''
32834
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
350 runtime NoSuchFile extra/bar.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
351 call assert_equal('run', g:sequence)
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
352
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
353 let g:sequence = ''
8526
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
354 runtime START extra/bar.vim
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
355 call assert_equal('start', g:sequence)
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
356 let g:sequence = ''
32834
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
357 runtime START NoSuchFile extra/bar.vim extra/foo.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
358 call assert_equal('start', g:sequence)
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
359 let g:sequence = ''
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
360 runtime START NoSuchFile extra/foo.vim extra/bar.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
361 call assert_equal('foostart', g:sequence)
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
362 let g:sequence = ''
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
363 runtime! START NoSuchFile extra/bar.vim extra/foo.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
364 call assert_equal('startfoostart', g:sequence)
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
365
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
366 let g:sequence = ''
8526
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
367 runtime OPT extra/bar.vim
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
368 call assert_equal('opt', g:sequence)
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
369 let g:sequence = ''
32834
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
370 runtime OPT NoSuchFile extra/bar.vim extra/xxx.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
371 call assert_equal('opt', g:sequence)
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
372 let g:sequence = ''
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
373 runtime OPT NoSuchFile extra/xxx.vim extra/bar.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
374 call assert_equal('xxxopt', g:sequence)
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
375 let g:sequence = ''
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
376 runtime! OPT NoSuchFile extra/bar.vim extra/xxx.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
377 call assert_equal('optxxxopt', g:sequence)
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
378
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
379 let g:sequence = ''
8526
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
380 runtime PACK extra/bar.vim
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
381 call assert_equal('start', g:sequence)
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
382 let g:sequence = ''
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
383 runtime! PACK extra/bar.vim
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
384 call assert_equal('startopt', g:sequence)
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
385 let g:sequence = ''
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
386 runtime PACK extra/xxx.vim
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
387 call assert_equal('xxxopt', g:sequence)
32834
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
388 let g:sequence = ''
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
389 runtime PACK extra/xxx.vim extra/foo.vim extra/bar.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
390 call assert_equal('foostart', g:sequence)
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
391 let g:sequence = ''
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
392 runtime! PACK extra/bar.vim extra/xxx.vim extra/foo.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
393 call assert_equal('startfoostartoptxxxopt', g:sequence)
8526
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
394
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
395 let g:sequence = ''
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
396 runtime ALL extra/bar.vim
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
397 call assert_equal('run', g:sequence)
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
398 let g:sequence = ''
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
399 runtime ALL extra/foo.vim
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
400 call assert_equal('foostart', g:sequence)
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
401 let g:sequence = ''
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
402 runtime! ALL extra/xxx.vim
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
403 call assert_equal('xxxopt', g:sequence)
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
404 let g:sequence = ''
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
405 runtime! ALL extra/bar.vim
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
406 call assert_equal('runstartopt', g:sequence)
32834
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
407 let g:sequence = ''
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
408 runtime ALL extra/xxx.vim extra/foo.vim extra/bar.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
409 call assert_equal('run', g:sequence)
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
410 let g:sequence = ''
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
411 runtime! ALL extra/bar.vim extra/xxx.vim extra/foo.vim
61389a392fe8 patch 9.0.1730: passing multiple patterns to runtime not working
Christian Brabandt <cb@256bit.org>
parents: 32206
diff changeset
412 call assert_equal('runstartfoostartoptxxxopt', g:sequence)
8526
981cc3bef9f3 commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents: 8524
diff changeset
413 endfunc
19231
b8fd7364befd patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 14683
diff changeset
414
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
415 func Test_runtime_completion()
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
416 let rundir = &packpath . '/runtime/Aextra'
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
417 let startdir = &packpath . '/pack/mine/start/foo/Aextra'
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
418 let optdir = &packpath . '/pack/mine/opt/bar/Aextra'
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
419 call mkdir(rundir . '/Arunbaz', 'p')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
420 call mkdir(startdir . '/Astartbaz', 'p')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
421 call mkdir(optdir . '/Aoptbaz', 'p')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
422 call writefile([], rundir . '/../Arunfoo.vim')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
423 call writefile([], rundir . '/Arunbar.vim')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
424 call writefile([], rundir . '/Aunrelated')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
425 call writefile([], rundir . '/../Aunrelated')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
426 call writefile([], startdir . '/../Astartfoo.vim')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
427 call writefile([], startdir . '/Astartbar.vim')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
428 call writefile([], startdir . '/Aunrelated')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
429 call writefile([], startdir . '/../Aunrelated')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
430 call writefile([], optdir . '/../Aoptfoo.vim')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
431 call writefile([], optdir . '/Aoptbar.vim')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
432 call writefile([], optdir . '/Aunrelated')
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
433 call writefile([], optdir . '/../Aunrelated')
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
434 exe 'set rtp=' . &packpath . '/runtime'
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
435
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
436 func Check_runtime_completion(arg, arg_prev, res)
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
437 call feedkeys(':runtime ' .. a:arg .. "\<C-A>\<C-B>\"\<CR>", 'xt')
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
438 call assert_equal('"runtime ' .. a:arg_prev .. join(a:res), @:)
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
439 call assert_equal(a:res, getcompletion(a:arg, 'runtime'))
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
440 endfunc
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
441
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
442 call Check_runtime_completion('', '',
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
443 \ ['Aextra/', 'Arunfoo.vim', 'START', 'OPT', 'PACK', 'ALL'])
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
444 call Check_runtime_completion('S', '',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
445 \ ['START'])
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
446 call Check_runtime_completion('O', '',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
447 \ ['OPT'])
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
448 call Check_runtime_completion('P', '',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
449 \ ['PACK'])
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
450 call Check_runtime_completion('A', '',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
451 \ ['Aextra/', 'Arunfoo.vim', 'ALL'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
452 call Check_runtime_completion('Other.vim ', 'Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
453 \ ['Aextra/', 'Arunfoo.vim'])
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
454 call Check_runtime_completion('Aextra/', '',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
455 \ ['Aextra/Arunbar.vim', 'Aextra/Arunbaz/'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
456 call Check_runtime_completion('Other.vim Aextra/', 'Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
457 \ ['Aextra/Arunbar.vim', 'Aextra/Arunbaz/'])
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
458
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
459 call Check_runtime_completion('START ', 'START ',
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
460 \ ['Aextra/', 'Astartfoo.vim'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
461 call Check_runtime_completion('START Other.vim ', 'START Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
462 \ ['Aextra/', 'Astartfoo.vim'])
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
463 call Check_runtime_completion('START A', 'START ',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
464 \ ['Aextra/', 'Astartfoo.vim'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
465 call Check_runtime_completion('START Other.vim A', 'START Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
466 \ ['Aextra/', 'Astartfoo.vim'])
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
467 call Check_runtime_completion('START Aextra/', 'START ',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
468 \ ['Aextra/Astartbar.vim', 'Aextra/Astartbaz/'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
469 call Check_runtime_completion('START Other.vim Aextra/', 'START Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
470 \ ['Aextra/Astartbar.vim', 'Aextra/Astartbaz/'])
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
471
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
472 call Check_runtime_completion('OPT ', 'OPT ',
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
473 \ ['Aextra/', 'Aoptfoo.vim'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
474 call Check_runtime_completion('OPT Other.vim ', 'OPT Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
475 \ ['Aextra/', 'Aoptfoo.vim'])
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
476 call Check_runtime_completion('OPT A', 'OPT ',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
477 \ ['Aextra/', 'Aoptfoo.vim'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
478 call Check_runtime_completion('OPT Other.vim A', 'OPT Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
479 \ ['Aextra/', 'Aoptfoo.vim'])
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
480 call Check_runtime_completion('OPT Aextra/', 'OPT ',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
481 \ ['Aextra/Aoptbar.vim', 'Aextra/Aoptbaz/'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
482 call Check_runtime_completion('OPT Other.vim Aextra/', 'OPT Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
483 \ ['Aextra/Aoptbar.vim', 'Aextra/Aoptbaz/'])
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
484
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
485 call Check_runtime_completion('PACK ', 'PACK ',
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
486 \ ['Aextra/', 'Aoptfoo.vim', 'Astartfoo.vim'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
487 call Check_runtime_completion('PACK Other.vim ', 'PACK Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
488 \ ['Aextra/', 'Aoptfoo.vim', 'Astartfoo.vim'])
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
489 call Check_runtime_completion('PACK A', 'PACK ',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
490 \ ['Aextra/', 'Aoptfoo.vim', 'Astartfoo.vim'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
491 call Check_runtime_completion('PACK Other.vim A', 'PACK Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
492 \ ['Aextra/', 'Aoptfoo.vim', 'Astartfoo.vim'])
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
493 call Check_runtime_completion('PACK Aextra/', 'PACK ',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
494 \ ['Aextra/Aoptbar.vim', 'Aextra/Aoptbaz/',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
495 \ 'Aextra/Astartbar.vim', 'Aextra/Astartbaz/'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
496 call Check_runtime_completion('PACK Other.vim Aextra/', 'PACK Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
497 \ ['Aextra/Aoptbar.vim', 'Aextra/Aoptbaz/',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
498 \ 'Aextra/Astartbar.vim', 'Aextra/Astartbaz/'])
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
499
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
500 call Check_runtime_completion('ALL ', 'ALL ',
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
501 \ ['Aextra/', 'Aoptfoo.vim', 'Arunfoo.vim', 'Astartfoo.vim'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
502 call Check_runtime_completion('ALL Other.vim ', 'ALL Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
503 \ ['Aextra/', 'Aoptfoo.vim', 'Arunfoo.vim', 'Astartfoo.vim'])
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
504 call Check_runtime_completion('ALL A', 'ALL ',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
505 \ ['Aextra/', 'Aoptfoo.vim', 'Arunfoo.vim', 'Astartfoo.vim'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
506 call Check_runtime_completion('ALL Other.vim A', 'ALL Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
507 \ ['Aextra/', 'Aoptfoo.vim', 'Arunfoo.vim', 'Astartfoo.vim'])
31811
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
508 call Check_runtime_completion('ALL Aextra/', 'ALL ',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
509 \ ['Aextra/Aoptbar.vim', 'Aextra/Aoptbaz/',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
510 \ 'Aextra/Arunbar.vim', 'Aextra/Arunbaz/',
c5ff7d053fa1 patch 9.0.1238: :runtime completion can be further improved
Bram Moolenaar <Bram@vim.org>
parents: 31798
diff changeset
511 \ 'Aextra/Astartbar.vim', 'Aextra/Astartbaz/'])
32844
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
512 call Check_runtime_completion('ALL Other.vim Aextra/', 'ALL Other.vim ',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
513 \ ['Aextra/Aoptbar.vim', 'Aextra/Aoptbaz/',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
514 \ 'Aextra/Arunbar.vim', 'Aextra/Arunbaz/',
5d3c0f914f26 patch 9.0.1734: :runtime completion fails for multiple args
Christian Brabandt <cb@256bit.org>
parents: 32834
diff changeset
515 \ 'Aextra/Astartbar.vim', 'Aextra/Astartbaz/'])
31798
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
516
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
517 delfunc Check_runtime_completion
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
518 endfunc
5948cc887603 patch 9.0.1231: completion of :runtime does not handle {where} argument
Bram Moolenaar <Bram@vim.org>
parents: 30592
diff changeset
519
19231
b8fd7364befd patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 14683
diff changeset
520 " vim: shiftwidth=2 sts=2 expandtab