searchwrapped_spec.lua 1.1 KB

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