aboutsummaryrefslogtreecommitdiff
path: root/test/functional/plugin/man_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/plugin/man_spec.lua')
-rw-r--r--test/functional/plugin/man_spec.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/functional/plugin/man_spec.lua b/test/functional/plugin/man_spec.lua
index 58da059be6..a1a7274e5d 100644
--- a/test/functional/plugin/man_spec.lua
+++ b/test/functional/plugin/man_spec.lua
@@ -10,6 +10,26 @@ local write_file = helpers.write_file
local tmpname = helpers.tmpname
local skip = helpers.skip
local is_ci = helpers.is_ci
+local table_contains = vim.tbl_contains
+
+-- Returns a table composed of all man page name arguments
+-- that were passed to search_for_path after attempting to
+-- open 'name'.
+local function get_search_history(name)
+ local as_table = string.gsub(name, ' ', '\', \'')
+ as_table = '\'' .. as_table .. '\''
+ local code = ([[
+ local man = require('runtime.lua.man')
+ local res = {}
+ man.attempt_to_get_path = function(sect, name, silent)
+ table.insert(res, name)
+ return nil
+ end
+ pcall(man.open_page, 0, {tab = 0}, {%s})
+ return res
+ ]]):format(as_table)
+ return exec_lua(code)
+end
clear()
if funcs.executable('man') == 0 then
@@ -173,4 +193,10 @@ describe(':Man', function()
funcs.system(args, {''}))
os.remove(actual_file)
end)
+
+ it('searches for manpage name with variants with spaces, underscores', function()
+ local tried = get_search_history('NAME WITH SPACES')
+ table_contains(tried, 'NAME WITH SPACES')
+ table_contains(tried, 'NAME_WITH_SPACES')
+ end)
end)