From 8a7b6200fbaaafa13c1425faacecbd779d05d729 Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Sat, 12 Jan 2019 00:52:12 +0100 Subject: provider: improve error message if provider is missing (#9487) Move `has_eval_provider()` check to `eval_call_provider()` to make sure that every code path calls it first. Previously we would, when pynvim was missing, get a nice error message for `:python3 1`, but not for `:py3file blah`. Fixes https://github.com/neovim/neovim/issues/9485 --- test/functional/provider/python3_spec.lua | 5 +++-- test/functional/provider/python_spec.lua | 5 +++-- test/functional/provider/ruby_spec.lua | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) (limited to 'test/functional') diff --git a/test/functional/provider/python3_spec.lua b/test/functional/provider/python3_spec.lua index 5e73690986..3a33109079 100644 --- a/test/functional/provider/python3_spec.lua +++ b/test/functional/provider/python3_spec.lua @@ -11,8 +11,9 @@ do clear() if missing_provider('python3') then it(':python3 reports E319 if provider is missing', function() - expect_err([[Vim%(python3%):E319: No "python3" provider found.*]], - command, 'python3 print("foo")') + local expected = [[Vim%(py3.*%):E319: No "python3" provider found.*]] + expect_err(expected, command, 'py3 print("foo")') + expect_err(expected, command, 'py3file foo') end) pending('Python 3 (or the pynvim module) is broken/missing', function() end) return diff --git a/test/functional/provider/python_spec.lua b/test/functional/provider/python_spec.lua index 15df76d2f6..869cfd1721 100644 --- a/test/functional/provider/python_spec.lua +++ b/test/functional/provider/python_spec.lua @@ -19,8 +19,9 @@ do clear() if missing_provider('python') then it(':python reports E319 if provider is missing', function() - expect_err([[Vim%(python%):E319: No "python" provider found.*]], - command, 'python print("foo")') + local expected = [[Vim%(py.*%):E319: No "python" provider found.*]] + expect_err(expected, command, 'py print("foo")') + expect_err(expected, command, 'pyfile foo') end) pending('Python 2 (or the pynvim module) is broken/missing', function() end) return diff --git a/test/functional/provider/ruby_spec.lua b/test/functional/provider/ruby_spec.lua index 40cfe80b50..62ac91a929 100644 --- a/test/functional/provider/ruby_spec.lua +++ b/test/functional/provider/ruby_spec.lua @@ -19,8 +19,9 @@ do clear() if missing_provider('ruby') then it(':ruby reports E319 if provider is missing', function() - expect_err([[Vim%(ruby%):E319: No "ruby" provider found.*]], - command, 'ruby puts "foo"') + local expected = [[Vim%(ruby.*%):E319: No "ruby" provider found.*]] + expect_err(expected, command, 'ruby puts "foo"') + expect_err(expected, command, 'rubyfile foo') end) pending("Missing neovim RubyGem.", function() end) return -- cgit