cmdline_spec.lua 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. local helpers = require('test.functional.helpers')(after_each)
  2. local Screen = require('test.functional.ui.screen')
  3. local clear = helpers.clear
  4. local feed = helpers.feed
  5. local feed_command = helpers.feed_command
  6. local source = helpers.source
  7. describe('cmdline', function()
  8. before_each(clear)
  9. it('is cleared when switching tabs', function()
  10. local screen = Screen.new(30, 10)
  11. screen:attach()
  12. feed_command([[call setline(1, range(30))]])
  13. screen:expect([[
  14. ^0 |
  15. 1 |
  16. 2 |
  17. 3 |
  18. 4 |
  19. 5 |
  20. 6 |
  21. 7 |
  22. 8 |
  23. :call setline(1, range(30)) |
  24. ]])
  25. feed([[:tabnew<cr><C-w>-<C-w>-gtgt]])
  26. screen:expect([[
  27. + [No Name] [No Name] X|
  28. ^ |
  29. ~ |
  30. ~ |
  31. ~ |
  32. ~ |
  33. ~ |
  34. 6 |
  35. 7 |
  36. |
  37. ]])
  38. end)
  39. it('prints every executed Ex command if verbose >= 16', function()
  40. local screen = Screen.new(60, 12)
  41. screen:attach()
  42. source([[
  43. command DoSomething echo 'hello' |set ts=4 |let v = '123' |echo v
  44. call feedkeys("\r", 't') " for the hit-enter prompt
  45. set verbose=20
  46. ]])
  47. feed_command('DoSomething')
  48. screen:expect([[
  49. |
  50. ~ |
  51. ~ |
  52. |
  53. Executing: DoSomething |
  54. Executing: echo 'hello' |set ts=4 |let v = '123' |echo v |
  55. hello |
  56. Executing: set ts=4 |let v = '123' |echo v |
  57. Executing: let v = '123' |echo v |
  58. Executing: echo v |
  59. 123 |
  60. Press ENTER or type command to continue^ |
  61. ]])
  62. end)
  63. end)