Mercurial > vim
diff src/testdir/test_packadd.vim @ 10837:437cf0fe2138 v8.0.0308
patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
commit https://github.com/vim/vim/commit/2f9e575583c2ad3978ee3d0f790eeff7df56bd6c
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Feb 5 16:07:54 2017 +0100
patch 8.0.0308: 'runtimepath' not update correctly when using symbolic link
Problem: When using a symbolic link, the package path will not be inserted
at the right position in 'runtimepath'. (Dugan Chen, Norio Takagi)
Solution: Resolve symbolic links when finding the right position in
'runtimepath'. (Hirohito Higashi)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 05 Feb 2017 16:15:04 +0100 |
parents | 932f94b2d8c2 |
children | c02cdc370340 |
line wrap: on
line diff
--- a/src/testdir/test_packadd.vim +++ b/src/testdir/test_packadd.vim @@ -67,6 +67,39 @@ func Test_packadd_noload() call assert_equal(new_rtp, &rtp) endfunc +func Test_packadd_symlink_dir() + if !has('unix') + return + endif + let top2_dir = s:topdir . '/Xdir2' + let real_dir = s:topdir . '/Xsym' + silent !ln -s real_dir top2_dir + let &rtp = top2_dir . ',' . top2_dir . '/after' + let &packpath = &rtp + + let s:plugdir = top2_dir . '/pack/mine/opt/mytest' + call mkdir(s:plugdir . '/plugin', 'p') + + exe 'split ' . s:plugdir . '/plugin/test.vim' + call setline(1, 'let g:plugin_works = 44') + wq + let g:plugin_works = 0 + + packadd mytest + + " Must have been inserted in the middle, not at the end + call assert_true(&rtp =~ '/pack/mine/opt/mytest,') + call assert_equal(44, g:plugin_works) + + " No change when doing it again. + let rtp_before = &rtp + packadd mytest + call assert_equal(rtp_before, &rtp) + + set rtp& + let rtp = &rtp +endfunc + " Check command-line completion for 'packadd' func Test_packadd_completion() let optdir1 = &packpath . '/pack/mine/opt'