mirror of
https://github.com/neovim/neovim.git
synced 2024-12-22 20:25:16 -07:00
65fb622000
Hope this will make people using feed_command less likely: this hides bugs. Already found at least two: 1. msgpackparse() will show internal error: hash_add() in case of duplicate keys, though it will still work correctly. Currently silenced. 2. ttimeoutlen was spelled incorrectly, resulting in option not being set when expected. Test was still functioning somehow though. Currently fixed.
43 lines
1.7 KiB
Lua
43 lines
1.7 KiB
Lua
-- Test if URLs are recognized as filenames by commands such as "gf". Here
|
|
-- we'll use `expand("<cfile>")` since "gf" would need to open the file.
|
|
|
|
local helpers = require('test.functional.helpers')(after_each)
|
|
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
|
local feed_command, expect = helpers.feed_command, helpers.expect
|
|
|
|
describe('filename recognition', function()
|
|
setup(clear)
|
|
|
|
it('is working', function()
|
|
-- insert some lines containing URLs
|
|
insert([[
|
|
first test for URL://machine.name/tmp/vimtest2a and other text
|
|
second test for URL://machine.name/tmp/vimtest2b. And other text
|
|
third test for URL:\\machine.name\vimtest2c and other text
|
|
fourth test for URL:\\machine.name\tmp\vimtest2d, and other text]])
|
|
|
|
-- Go to the first URL and append it to the beginning
|
|
feed_command('/^first', '/tmp', 'call append(0, expand("<cfile>"))')
|
|
|
|
-- Repeat for the second URL
|
|
-- this time, navigate to the word "URL" instead of "tmp"
|
|
feed_command('/^second', '/URL', 'call append(1, expand("<cfile>"))')
|
|
|
|
-- Repeat for the remaining URLs. This time, the 'isfname' option must be
|
|
-- set to allow '\' in filenames
|
|
feed_command('set isf=@,48-57,/,.,-,_,+,,,$,:,~,\\')
|
|
feed_command('/^third', '/name', 'call append(2, expand("<cfile>"))')
|
|
feed_command('/^fourth', '/URL', 'call append(3, expand("<cfile>"))')
|
|
|
|
-- Delete the initial text, which now starts at line 5
|
|
feed('5GdG')
|
|
|
|
-- The buffer should now contain:
|
|
expect([[
|
|
URL://machine.name/tmp/vimtest2a
|
|
URL://machine.name/tmp/vimtest2b
|
|
URL:\\machine.name\vimtest2c
|
|
URL:\\machine.name\tmp\vimtest2d]])
|
|
end)
|
|
end)
|