neovim

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

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)