aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-02-17 19:30:28 -0500
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-02-17 19:31:57 -0500
commit67c99ec6207221dd13f27a6215271cb8931e6d3d (patch)
treed858e6ce667cc54e094deaa3902a6f87c2438664
parent6b827bb6646c213b8ad5ee6c1c87dcfd84f4bc29 (diff)
downloadrneovim-67c99ec6207221dd13f27a6215271cb8931e6d3d.tar.gz
rneovim-67c99ec6207221dd13f27a6215271cb8931e6d3d.tar.bz2
rneovim-67c99ec6207221dd13f27a6215271cb8931e6d3d.zip
vim-patch:8.1.0926: no test for :wnext, :wNext and :wprevious
Problem: No test for :wnext, :wNext and :wprevious. Solution: Add a test. (Dominique Pelle, closes vim/vim#3963) https://github.com/vim/vim/commit/e93e5a504f481bd0dad9c504d5fcf0e5f0dfc6e6
-rw-r--r--src/nvim/testdir/test_alot.vim1
-rw-r--r--src/nvim/testdir/test_wnext.vim101
2 files changed, 102 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim
index 0602ff6a45..971623d3db 100644
--- a/src/nvim/testdir/test_alot.vim
+++ b/src/nvim/testdir/test_alot.vim
@@ -51,3 +51,4 @@ source test_unlet.vim
source test_utf8.vim
source test_virtualedit.vim
source test_window_cmd.vim
+source test_wnext.vim
diff --git a/src/nvim/testdir/test_wnext.vim b/src/nvim/testdir/test_wnext.vim
new file mode 100644
index 0000000000..3df61ceb78
--- /dev/null
+++ b/src/nvim/testdir/test_wnext.vim
@@ -0,0 +1,101 @@
+" Test :wnext :wNext and :wprevious
+
+func Test_wnext()
+ args X1 X2
+
+ call setline(1, '1')
+ wnext
+ call assert_equal(['1'], readfile('X1'))
+ call assert_equal('X2', bufname('%'))
+
+ call setline(1, '2')
+ call assert_fails('wnext', 'E165:')
+ call assert_equal(['2'], readfile('X2'))
+ call assert_equal('X2', bufname('%'))
+
+ " Test :wnext with a single file.
+ args X1
+ call assert_equal('X1', bufname('%'))
+ call assert_fails('wnext', 'E163:')
+
+ " Test :wnext with a count.
+ args X1 X2 X3
+ call assert_equal('X1', bufname('%'))
+ 2wnext
+ call assert_equal('X3', bufname('%'))
+
+ " Test :wnext {file}.
+ args X1 X2 X3
+ wnext X4
+ call assert_equal(['1'], readfile('X4'))
+ call assert_equal('X2', bufname('%'))
+ call assert_fails('wnext X4', 'E13:')
+ call assert_equal(['1'], readfile('X4'))
+ wnext! X4
+ call assert_equal(['2'], readfile('X4'))
+ call assert_equal('X3', bufname('%'))
+
+ args X1 X2
+ " Commented out as, E13 occurs on Windows instead of E17
+ "call assert_fails('wnext .', 'E17:')
+ call assert_fails('wnext! .', 'E502:')
+
+ %bwipe!
+ call delete('X1')
+ call delete('X2')
+ call delete('X3')
+ call delete('X4')
+endfunc
+
+func Test_wprevious()
+ args X1 X2
+
+ next
+ call assert_equal('X2', bufname('%'))
+ call setline(1, '2')
+ wprevious
+ call assert_equal(['2'], readfile('X2'))
+ call assert_equal('X1', bufname('%'))
+
+ call setline(1, '1')
+ call assert_fails('wprevious', 'E164:')
+ call assert_fails('wNext', 'E164:')
+
+ " Test :wprevious with a single file.
+ args X1
+ call assert_fails('wprevious', 'E163:')
+ call assert_fails('wNext', 'E163:')
+
+ " Test :wprevious with a count.
+ args X1 X2 X3
+ 2next
+ call setline(1, '3')
+ call assert_equal('X3', bufname('%'))
+ 2wprevious
+ call assert_equal('X1', bufname('%'))
+ call assert_equal(['3'], readfile('X3'))
+
+ " Test :wprevious {file}
+ args X1 X2 X3
+ 2next
+ call assert_equal('X3', bufname('%'))
+ wprevious X4
+ call assert_equal(['3'], readfile('X4'))
+ call assert_equal('X2', bufname('%'))
+ call assert_fails('wprevious X4', 'E13:')
+ call assert_equal(['3'], readfile('X4'))
+ wprevious! X4
+ call assert_equal(['2'], readfile('X4'))
+ call assert_equal('X1', bufname('%'))
+
+ args X1 X2
+ " Commented out as, E13 occurs on Windows instead of E17
+ "call assert_fails('wprevious .', 'E17:')
+ call assert_fails('wprevious! .', 'E502:')
+
+ %bwipe!
+ call delete('X1')
+ call delete('X2')
+ call delete('X3')
+ call delete('X4')
+endfunc