neovim

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

043_magic_settings_spec.lua (1395B)


      1 -- Tests for regexp with various magic settings.
      2 
      3 local n = require('test.functional.testnvim')()
      4 
      5 local clear, feed, insert = n.clear, n.feed, n.insert
      6 local feed_command, expect = n.feed_command, n.expect
      7 
      8 describe('regexp with magic settings', function()
      9  setup(clear)
     10 
     11  it('is working', function()
     12    insert([[
     13      1 a aa abb abbccc
     14      2 d dd dee deefff
     15      3 g gg ghh ghhiii
     16      4 j jj jkk jkklll
     17      5 m mm mnn mnnooo
     18      6 x ^aa$ x
     19      7 (a)(b) abbaa
     20      8 axx [ab]xx
     21      9 foobar
     22      ]])
     23 
     24    feed_command('/^1')
     25    feed_command([[/a*b\{2}c\+/e]])
     26    feed([[x/\Md\*e\{2}f\+/e<cr>]])
     27    feed('x:set nomagic<cr>')
     28    feed_command([[/g\*h\{2}i\+/e]])
     29    feed([[x/\mj*k\{2}l\+/e<cr>]])
     30    feed([[x/\vm*n{2}o+/e<cr>]])
     31    feed([[x/\V^aa$<cr>]])
     32    feed('x:set magic<cr>')
     33    feed_command([[/\v(a)(b)\2\1\1/e]])
     34    feed([[x/\V[ab]\(\[xy]\)\1<cr>]])
     35    feed('x:$<cr>')
     36    feed_command('set undolevels=100')
     37    feed('dv?bar?<cr>')
     38    feed('Yup:<cr>')
     39    feed_command('?^1?,$yank A')
     40 
     41    -- Put @a and clean empty line
     42    feed_command('%d')
     43    feed_command('0put a')
     44    feed_command('$d')
     45 
     46    -- Assert buffer contents.
     47    expect([[
     48      1 a aa abb abbcc
     49      2 d dd dee deeff
     50      3 g gg ghh ghhii
     51      4 j jj jkk jkkll
     52      5 m mm mnn mnnoo
     53      6 x aa$ x
     54      7 (a)(b) abba
     55      8 axx ab]xx
     56      9 foobar
     57      9 foo
     58      ]])
     59  end)
     60 end)