2016-04-23 16:53:11 -07:00
|
|
|
local helpers = require('test.functional.helpers')(after_each)
|
2016-02-22 12:24:51 -07:00
|
|
|
local call = helpers.call
|
|
|
|
local clear = helpers.clear
|
2017-04-08 14:12:26 -07:00
|
|
|
local command = helpers.command
|
2016-02-22 12:24:51 -07:00
|
|
|
local eq = helpers.eq
|
|
|
|
local eval = helpers.eval
|
|
|
|
local insert = helpers.insert
|
|
|
|
|
|
|
|
describe('searchpos', function()
|
|
|
|
before_each(clear)
|
|
|
|
|
|
|
|
it('is working', function()
|
|
|
|
insert([[
|
|
|
|
1a3
|
|
|
|
123xyz]])
|
|
|
|
|
|
|
|
call('cursor', 1, 1)
|
|
|
|
eq({1, 1, 2}, eval([[searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW')]]))
|
|
|
|
call('cursor', 1, 2)
|
|
|
|
eq({2, 1, 1}, eval([[searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW')]]))
|
|
|
|
|
2017-04-08 14:12:26 -07:00
|
|
|
command('set cpo-=c')
|
2016-02-22 12:24:51 -07:00
|
|
|
call('cursor', 1, 2)
|
|
|
|
eq({1, 2, 2}, eval([[searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW')]]))
|
|
|
|
call('cursor', 1, 3)
|
|
|
|
eq({1, 3, 1}, eval([[searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW')]]))
|
|
|
|
|
|
|
|
-- Now with \zs, first match is in column 0, "a" is matched.
|
|
|
|
call('cursor', 1, 3)
|
|
|
|
eq({2, 4, 2}, eval([[searchpos('\%(\([a-z]\)\|\_.\)\{-}\zsxyz', 'pcW')]]))
|
|
|
|
-- With z flag start at cursor column, don't see the "a".
|
|
|
|
call('cursor', 1, 3)
|
|
|
|
eq({2, 4, 1}, eval([[searchpos('\%(\([a-z]\)\|\_.\)\{-}\zsxyz', 'pcWz')]]))
|
|
|
|
end)
|
|
|
|
end)
|