mirror of
https://github.com/neovim/neovim.git
synced 2025-09-15 15:58:17 +00:00
vim-patch:7.4.1480
Problem: Cannot add a pack direcory without loading a plugin.
Solution: Add the :packadd command.
91715873d1
This commit is contained in:
@@ -13,34 +13,67 @@ describe('loadplugin', function()
|
||||
clear()
|
||||
|
||||
source([=[
|
||||
func SetUp()
|
||||
let s:topdir = expand('%:p:h') . '/Xdir'
|
||||
exe 'set packpath=' . s:topdir
|
||||
let s:plugdir = s:topdir . '/pack/mine/opt/mytest'
|
||||
endfunc
|
||||
|
||||
func TearDown()
|
||||
call delete(s:topdir, 'rf')
|
||||
endfunc
|
||||
|
||||
func Test_loadplugin()
|
||||
let topdir = expand('%:p:h') . '/Xdir'
|
||||
exe 'set packpath=' . topdir
|
||||
let plugdir = topdir . '/pack/mine/opt/mytest'
|
||||
call mkdir(plugdir . '/plugin', 'p')
|
||||
call mkdir(plugdir . '/ftdetect', 'p')
|
||||
call mkdir(s:plugdir . '/plugin', 'p')
|
||||
call mkdir(s:plugdir . '/ftdetect', 'p')
|
||||
set rtp&
|
||||
let rtp = &rtp
|
||||
filetype on
|
||||
try
|
||||
exe 'split ' . plugdir . '/plugin/test.vim'
|
||||
call setline(1, 'let g:plugin_works = 42')
|
||||
wq
|
||||
|
||||
exe 'split ' . plugdir . '/ftdetect/test.vim'
|
||||
call setline(1, 'let g:ftdetect_works = 17')
|
||||
wq
|
||||
exe 'split ' . s:plugdir . '/plugin/test.vim'
|
||||
call setline(1, 'let g:plugin_works = 42')
|
||||
wq
|
||||
|
||||
loadplugin mytest
|
||||
call assert_true(42, g:plugin_works)
|
||||
call assert_true(17, g:ftdetect_works)
|
||||
finally
|
||||
call delete(topdir, 'rf')
|
||||
endtry
|
||||
exe 'split ' . s:plugdir . '/ftdetect/test.vim'
|
||||
call setline(1, 'let g:ftdetect_works = 17')
|
||||
wq
|
||||
|
||||
loadplugin mytest
|
||||
|
||||
call assert_true(42, g:plugin_works)
|
||||
call assert_true(17, g:ftdetect_works)
|
||||
call assert_true(len(&rtp) > len(rtp))
|
||||
call assert_true(&rtp =~ (s:plugdir . '\($\|,\)'))
|
||||
endfunc
|
||||
|
||||
func Test_packadd()
|
||||
call mkdir(s:plugdir . '/syntax', 'p')
|
||||
set rtp&
|
||||
let rtp = &rtp
|
||||
packadd mytest
|
||||
call assert_true(len(&rtp) > len(rtp))
|
||||
call assert_true(&rtp =~ (s:plugdir . '\($\|,\)'))
|
||||
|
||||
" check the path is not added twice
|
||||
let new_rtp = &rtp
|
||||
packadd mytest
|
||||
call assert_equal(new_rtp, &rtp)
|
||||
endfunc
|
||||
]=])
|
||||
call('SetUp')
|
||||
end)
|
||||
|
||||
teardown(function()
|
||||
call('TearDown')
|
||||
end)
|
||||
|
||||
it('is working', function()
|
||||
call('Test_loadplugin')
|
||||
expected_empty()
|
||||
end)
|
||||
|
||||
it('works with packadd', function()
|
||||
call('Test_packadd')
|
||||
expected_empty()
|
||||
end)
|
||||
end)
|
||||
|
Reference in New Issue
Block a user