diff options
Diffstat (limited to 'test/functional/plugin/man_spec.lua')
-rw-r--r-- | test/functional/plugin/man_spec.lua | 26 |
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) |