test_wnext.vim 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. " Test :wnext :wNext and :wprevious
  2. func Test_wnext()
  3. args X1 X2
  4. call setline(1, '1')
  5. wnext
  6. call assert_equal(['1'], readfile('X1'))
  7. call assert_equal('X2', bufname('%'))
  8. call setline(1, '2')
  9. call assert_fails('wnext', 'E165:')
  10. call assert_equal(['2'], readfile('X2'))
  11. call assert_equal('X2', bufname('%'))
  12. " Test :wnext with a single file.
  13. args X1
  14. call assert_equal('X1', bufname('%'))
  15. call assert_fails('wnext', 'E163:')
  16. " Test :wnext with a count.
  17. args X1 X2 X3
  18. call assert_equal('X1', bufname('%'))
  19. 2wnext
  20. call assert_equal('X3', bufname('%'))
  21. " Test :wnext {file}.
  22. args X1 X2 X3
  23. wnext X4
  24. call assert_equal(['1'], readfile('X4'))
  25. call assert_equal('X2', bufname('%'))
  26. call assert_fails('wnext X4', 'E13:')
  27. call assert_equal(['1'], readfile('X4'))
  28. wnext! X4
  29. call assert_equal(['2'], readfile('X4'))
  30. call assert_equal('X3', bufname('%'))
  31. args X1 X2
  32. " Commented out as, E13 occurs on Windows instead of E17
  33. "call assert_fails('wnext .', 'E17:')
  34. call assert_fails('wnext! .', 'E502:')
  35. %bwipe!
  36. call delete('X1')
  37. call delete('X2')
  38. call delete('X3')
  39. call delete('X4')
  40. endfunc
  41. func Test_wprevious()
  42. args X1 X2
  43. next
  44. call assert_equal('X2', bufname('%'))
  45. call setline(1, '2')
  46. wprevious
  47. call assert_equal(['2'], readfile('X2'))
  48. call assert_equal('X1', bufname('%'))
  49. call setline(1, '1')
  50. call assert_fails('wprevious', 'E164:')
  51. call assert_fails('wNext', 'E164:')
  52. " Test :wprevious with a single file.
  53. args X1
  54. call assert_fails('wprevious', 'E163:')
  55. call assert_fails('wNext', 'E163:')
  56. " Test :wprevious with a count.
  57. args X1 X2 X3
  58. 2next
  59. call setline(1, '3')
  60. call assert_equal('X3', bufname('%'))
  61. 2wprevious
  62. call assert_equal('X1', bufname('%'))
  63. call assert_equal(['3'], readfile('X3'))
  64. " Test :wprevious {file}
  65. args X1 X2 X3
  66. 2next
  67. call assert_equal('X3', bufname('%'))
  68. wprevious X4
  69. call assert_equal(['3'], readfile('X4'))
  70. call assert_equal('X2', bufname('%'))
  71. call assert_fails('wprevious X4', 'E13:')
  72. call assert_equal(['3'], readfile('X4'))
  73. wprevious! X4
  74. call assert_equal(['2'], readfile('X4'))
  75. call assert_equal('X1', bufname('%'))
  76. args X1 X2
  77. " Commented out as, E13 occurs on Windows instead of E17
  78. "call assert_fails('wprevious .', 'E17:')
  79. call assert_fails('wprevious! .', 'E502:')
  80. %bwipe!
  81. call delete('X1')
  82. call delete('X2')
  83. call delete('X3')
  84. call delete('X4')
  85. endfunc