2016-07-23 22:04:47 +02:00
|
|
|
" Test for textobjects
|
|
|
|
|
|
|
|
if !has('textobjects')
|
|
|
|
finish
|
|
|
|
endif
|
|
|
|
|
2017-03-08 22:55:19 +01:00
|
|
|
set belloff=all
|
2016-07-23 22:04:47 +02:00
|
|
|
function! CpoM(line, useM, expected)
|
|
|
|
new
|
|
|
|
|
|
|
|
if a:useM
|
|
|
|
set cpoptions+=M
|
|
|
|
else
|
|
|
|
set cpoptions-=M
|
|
|
|
endif
|
|
|
|
|
|
|
|
call setline(1, a:line)
|
|
|
|
|
|
|
|
call setreg('"', '')
|
|
|
|
normal! ggfrmavi)y
|
|
|
|
call assert_equal(getreg('"'), a:expected[0])
|
|
|
|
|
|
|
|
call setreg('"', '')
|
|
|
|
normal! `afbmavi)y
|
|
|
|
call assert_equal(getreg('"'), a:expected[1])
|
|
|
|
|
|
|
|
call setreg('"', '')
|
|
|
|
normal! `afgmavi)y
|
|
|
|
call assert_equal(getreg('"'), a:expected[2])
|
|
|
|
|
|
|
|
q!
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! Test_inner_block_without_cpo_M()
|
|
|
|
call CpoM('(red \(blue) green)', 0, ['red \(blue', 'red \(blue', ''])
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! Test_inner_block_with_cpo_M_left_backslash()
|
|
|
|
call CpoM('(red \(blue) green)', 1, ['red \(blue) green', 'blue', 'red \(blue) green'])
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! Test_inner_block_with_cpo_M_right_backslash()
|
|
|
|
call CpoM('(red (blue\) green)', 1, ['red (blue\) green', 'blue\', 'red (blue\) green'])
|
|
|
|
endfunction
|