neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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)