textobjects_spec.lua (1324B)
1 local n = require('test.functional.testnvim')() 2 3 local call = n.call 4 local clear = n.clear 5 local command = n.command 6 local expect = n.expect 7 local source = n.source 8 9 describe('Text object', function() 10 before_each(function() 11 clear() 12 command('set shada=') 13 source([[ 14 function SelectionOut(data) 15 new 16 call setline(1, a:data) 17 call setreg('"', '') 18 normal! ggfrmavi)y 19 $put =getreg('\"') 20 call setreg('"', '') 21 normal! `afbmavi)y 22 $put =getreg('\"') 23 call setreg('"', '') 24 normal! `afgmavi)y 25 $put =getreg('\"') 26 endfunction 27 ]]) 28 end) 29 30 it('Test for vi) without cpo-M', function() 31 command('set cpo-=M') 32 call('SelectionOut', '(red \\(blue) green)') 33 34 expect([[ 35 (red \(blue) green) 36 red \(blue 37 red \(blue 38 ]]) 39 end) 40 41 it('Test for vi) with cpo-M #1', function() 42 command('set cpo+=M') 43 call('SelectionOut', '(red \\(blue) green)') 44 45 expect([[ 46 (red \(blue) green) 47 red \(blue) green 48 blue 49 red \(blue) green]]) 50 end) 51 52 it('Test for vi) with cpo-M #2', function() 53 command('set cpo+=M') 54 call('SelectionOut', '(red (blue\\) green)') 55 56 expect([[ 57 (red (blue\) green) 58 red (blue\) green 59 blue\ 60 red (blue\) green]]) 61 end) 62 end)