Files
neovim/test/functional/legacy/loadplugin_spec.lua
James McCoy 67d8e58631 vim-patch:7.4.1480
Problem:    Cannot add a pack direcory without loading a plugin.
Solution:   Add the :packadd command.

91715873d1
2016-07-08 01:43:30 -04:00

80 lines
1.9 KiB
Lua

-- Tests for :loadplugin
local helpers = require('test.functional.helpers')(after_each)
local clear, source = helpers.clear, helpers.source
local call, eq, nvim = helpers.call, helpers.eq, helpers.meths
local function expected_empty()
eq({}, nvim.get_vvar('errors'))
end
describe('loadplugin', function()
setup(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()
call mkdir(s:plugdir . '/plugin', 'p')
call mkdir(s:plugdir . '/ftdetect', 'p')
set rtp&
let rtp = &rtp
filetype on
exe 'split ' . s:plugdir . '/plugin/test.vim'
call setline(1, 'let g:plugin_works = 42')
wq
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)