aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/functional/fixtures/autoload/provider/clipboard.vim3
-rw-r--r--test/functional/fixtures/autoload/provider/python.vim6
-rw-r--r--test/functional/fixtures/autoload/provider/ruby.vim2
-rw-r--r--test/functional/provider/provider_spec.lua26
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)