1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 06:20:05 +08:00
SpaceVim/bundle/vim-textobj-user/t/failed-selection.vim
2020-06-13 14:06:35 +08:00

64 lines
1.5 KiB
VimL
Vendored

call textobj#user#plugin('alwaysfail', {
\ 'pattern1': {
\ 'pattern': 'no such pattern',
\ 'select': '[p]',
\ },
\ 'pattern2': {
\ 'pattern': ['no such', 'pattern'],
\ 'select-a': '[pa]',
\ 'select-i': '[pi]',
\ },
\ 'function': {
\ 'select': '[sf]',
\ 'select-function': 'CannotSelect',
\ 'select-a': '[saf]',
\ 'select-a-function': 'CannotSelect',
\ 'select-i': '[sif]',
\ 'select-i-function': 'CannotSelect',
\ },
\ })
function! CannotSelect()
return 0
endfunction
describe 'textobj-user'
before
new
put ='1'
put ='22'
put ='333'
put ='4444'
put ='55555'
put ='666666'
1 delete _
end
after
close!
end
it 'operates on nothing if a proper text object is not found'
for obj in ['p', 'pa', 'pi', 'sf', 'saf', 'sif']
call cursor(3, 2)
execute 'normal' printf('y[%s]', obj)
Expect @0 == ''
Expect [obj, line("'["), col("'["), line("']"), col("']")]
\ == [obj, 3, 2, 3, 2]
Expect [obj, line("'<"), col("'<"), line("'>"), col("'>")]
\ == [obj, 0, 0, 0, 0]
endfor
end
it 'keeps the current selection if a proper text object is not found'
for obj in ['p', 'pa', 'pi', 'sf', 'saf', 'sif']
call cursor(3, 2)
execute 'normal' printf('vjjl[%s]y', obj)
Expect [obj, line("'["), col("'["), line("']"), col("']")]
\ == [obj, 3, 2, 5, 3]
Expect [obj, line("'<"), col("'<"), line("'>"), col("'>")]
\ == [obj, 3, 2, 5, 3]
endfor
end
end