searchwrapped_spec.lua (1152B)
1 local t = require('test.testutil') 2 local n = require('test.functional.testnvim')() 3 4 local clear = n.clear 5 local command = n.command 6 local api = n.api 7 local eq = t.eq 8 local eval = n.eval 9 local feed = n.feed 10 11 describe('autocmd SearchWrapped', function() 12 before_each(function() 13 clear() 14 command('set ignorecase') 15 command('let g:test = 0') 16 command('autocmd! SearchWrapped * let g:test += 1') 17 api.nvim_buf_set_lines(0, 0, 1, false, { 18 'The quick brown fox', 19 'jumps over the lazy dog', 20 }) 21 end) 22 23 it('gets triggered when search wraps the end', function() 24 feed('/the<Return>') 25 eq(0, eval('g:test')) 26 27 feed('n') 28 eq(1, eval('g:test')) 29 30 feed('nn') 31 eq(2, eval('g:test')) 32 end) 33 34 it('gets triggered when search wraps in reverse order', function() 35 feed('/the<Return>') 36 eq(0, eval('g:test')) 37 38 feed('NN') 39 eq(1, eval('g:test')) 40 41 feed('NN') 42 eq(2, eval('g:test')) 43 end) 44 45 it('does not get triggered on failed searches', function() 46 feed('/blargh<Return>') 47 eq(0, eval('g:test')) 48 49 feed('NN') 50 eq(0, eval('g:test')) 51 52 feed('NN') 53 eq(0, eval('g:test')) 54 end) 55 end)