global_spec.lua 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. local n = require('test.functional.testnvim')()
  2. local Screen = require('test.functional.ui.screen')
  3. local clear = n.clear
  4. local exec = n.exec
  5. local feed = n.feed
  6. local poke_eventloop = n.poke_eventloop
  7. before_each(clear)
  8. describe(':global', function()
  9. -- oldtest: Test_interrupt_global()
  10. it('can be interrupted using Ctrl-C in cmdline mode vim-patch:9.0.0082', function()
  11. local screen = Screen.new(75, 6)
  12. exec([[
  13. set nohlsearch noincsearch
  14. cnoremap ; <Cmd>sleep 10<CR>
  15. call setline(1, repeat(['foo'], 5))
  16. ]])
  17. feed(':g/foo/norm :<C-V>;<CR>')
  18. poke_eventloop() -- Wait for :sleep to start
  19. feed('<C-C>')
  20. screen:expect([[
  21. ^foo |
  22. foo |*4
  23. {9:Interrupted} |
  24. ]])
  25. -- Also test in Ex mode
  26. feed('gQg/foo/norm :<C-V>;<CR>')
  27. poke_eventloop() -- Wait for :sleep to start
  28. feed('<C-C>')
  29. screen:expect([[
  30. {3: }|
  31. Entering Ex mode. Type "visual" to go to Normal mode. |
  32. :g/foo/norm :; |
  33. |
  34. {9:Interrupted} |
  35. :^ |
  36. ]])
  37. end)
  38. end)