diff options
Diffstat (limited to 'test')
4 files changed, 36 insertions, 1 deletions
diff --git a/test/functional/fixtures/autoload/provider/clipboard.vim b/test/functional/fixtures/autoload/provider/clipboard.vim index 6d777255c8..41e486b745 100644 --- a/test/functional/fixtures/autoload/provider/clipboard.vim +++ b/test/functional/fixtures/autoload/provider/clipboard.vim @@ -1,3 +1,5 @@ +let g:loaded_clipboard_provider = 2 + let g:test_clip = { '+': [''], '*': [''], } let s:methods = {} @@ -35,7 +37,6 @@ function! s:methods.set(lines, regtype, reg) let g:test_clip[a:reg] = [a:lines, a:regtype] endfunction - function! provider#clipboard#Call(method, args) return call(s:methods[a:method],a:args,s:methods) endfunction diff --git a/test/functional/fixtures/autoload/provider/python.vim b/test/functional/fixtures/autoload/provider/python.vim new file mode 100644 index 0000000000..d68360ac30 --- /dev/null +++ b/test/functional/fixtures/autoload/provider/python.vim @@ -0,0 +1,6 @@ +" Dummy test provider, missing this required variable: +" let g:loaded_brokenenabled_provider = 0 + +function! provider#python#Call(method, args) + return 42 +endfunction diff --git a/test/functional/fixtures/autoload/provider/ruby.vim b/test/functional/fixtures/autoload/provider/ruby.vim new file mode 100644 index 0000000000..35becc27ff --- /dev/null +++ b/test/functional/fixtures/autoload/provider/ruby.vim @@ -0,0 +1,2 @@ +" A dummy test provider +let g:loaded_ruby_provider = 2 diff --git a/test/functional/provider/provider_spec.lua b/test/functional/provider/provider_spec.lua new file mode 100644 index 0000000000..bfb0bbc3a3 --- /dev/null +++ b/test/functional/provider/provider_spec.lua @@ -0,0 +1,26 @@ + +local helpers = require('test.functional.helpers')(after_each) +local clear, eval = helpers.clear, helpers.eval +local command = helpers.command +local expect_err = helpers.expect_err + +describe('providers', function() + before_each(function() + clear('--cmd', 'let &rtp = "test/functional/fixtures,".&rtp') + end) + + it('with #Call(), missing g:loaded_xx_provider', function() + command('set loadplugins') + -- Using test-fixture with broken impl: + -- test/functional/fixtures/autoload/provider/python.vim + expect_err('Vim:provider: python: missing required variable g:loaded_python_provider', + eval, "has('python')") + end) + + it('with g:loaded_xx_provider, missing #Call()', function() + -- Using test-fixture with broken impl: + -- test/functional/fixtures/autoload/provider/ruby.vim + expect_err('Vim:provider: ruby: g:loaded_ruby_provider=2 but provider#ruby#Call is not defined', + eval, "has('ruby')") + end) +end) |