searchwrapped_spec.lua 1.1 KB

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