038_virtual_replace_spec.lua (1746B)
1 -- Test Virtual replace mode. 2 3 local n = require('test.functional.testnvim')() 4 5 local feed = n.feed 6 local clear, feed_command, expect = n.clear, n.feed_command, n.expect 7 8 describe('Virtual replace mode', function() 9 setup(clear) 10 11 -- luacheck: ignore 621 (Indentation) 12 it('is working', function() 13 -- Make sure that backspace works, no matter what termcap is used. 14 feed_command('set t_kD=x7f t_kb=x08') 15 -- Use vi default for 'smarttab' 16 feed_command('set nosmarttab') 17 feed('ggdGa<cr>') 18 feed('abcdefghi<cr>') 19 feed('jk<tab>lmn<cr>') 20 feed('<Space><Space><Space><Space>opq<tab>rst<cr>') 21 feed('<C-d>uvwxyz<cr>') 22 feed('<esc>gg') 23 feed_command('set ai') 24 feed_command('set bs=2') 25 feed('gR0<C-d> 1<cr>') 26 feed('A<cr>') 27 feed('BCDEFGHIJ<cr>') 28 feed('<tab>KL<cr>') 29 feed('MNO<cr>') 30 feed('PQR<esc>G') 31 feed_command('ka') 32 feed('o0<C-d><cr>') 33 feed('abcdefghi<cr>') 34 feed('jk<tab>lmn<cr>') 35 feed('<Space><Space><Space><Space>opq<tab>rst<cr>') 36 feed('<C-d>uvwxyz<cr>') 37 feed([[<esc>'ajgR0<C-d> 1<cr>]]) 38 feed('A<cr>') 39 feed('BCDEFGHIJ<cr>') 40 feed('<tab>KL<cr>') 41 feed('MNO<cr>') 42 feed( 43 'PQR<C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><C-h><esc>:$<cr>' 44 ) 45 feed('iab<tab>cdefghi<tab>jkl<esc>0gRAB......CDEFGHI.J<esc>o<esc>:<cr>') 46 feed('iabcdefghijklmnopqrst<esc>0gRAB<tab>IJKLMNO<tab>QR<esc>') 47 48 -- Assert buffer contents. 49 expect([=[ 50 1 51 A 52 BCDEFGHIJ 53 KL 54 MNO 55 PQR 56 1 57 abcdefghi 58 jk lmn 59 opq rst 60 uvwxyz 61 AB......CDEFGHI.Jkl 62 AB IJKLMNO QRst]=]) 63 end) 64 end)