mode_visual_spec.lua 950 B

12345678910111213141516171819202122232425262728
  1. -- Visual-mode tests.
  2. local helpers = require('test.functional.helpers')(after_each)
  3. local clear = helpers.clear
  4. local eq = helpers.eq
  5. local eval = helpers.eval
  6. local expect = helpers.expect
  7. local feed = helpers.feed
  8. local meths = helpers.meths
  9. describe('visual-mode', function()
  10. before_each(clear)
  11. it("select-mode Ctrl-O doesn't cancel Ctrl-O mode when processing event #15688", function()
  12. feed('iHello World<esc>gh<c-o>')
  13. eq({mode='vs', blocking=false}, meths.get_mode()) -- fast event
  14. eq({mode='vs', blocking=false}, meths.get_mode()) -- again #15288
  15. eq(2, eval('1+1')) -- causes K_EVENT key
  16. eq({mode='vs', blocking=false}, meths.get_mode()) -- still in ctrl-o mode
  17. feed('^')
  18. eq({mode='s', blocking=false}, meths.get_mode()) -- left ctrl-o mode
  19. feed('h')
  20. eq({mode='i', blocking=false}, meths.get_mode()) -- entered insert mode
  21. expect('h') -- selection is the whole line and is replaced
  22. end)
  23. end)