diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-10-25 12:32:11 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-10-25 12:32:11 +0200 |
commit | e6e3989c1b3f18907a0c305712b867e9a3821369 (patch) | |
tree | 4809dda0c07ac5d06047b9c474d6507cf1fa68b0 /src/testdir/test_arglist.vim | |
parent | bf9679ae4684cb0c4e6ef2c24da0f83955d53e57 (diff) |
patch 8.1.0493: argv() and argc() only work on the current argument listv8.1.0493
Problem: argv() and argc() only work on the current argument list.
Solution: Add a window ID argument. (Yegappan Lakshmanan, closes #832)
Diffstat (limited to 'src/testdir/test_arglist.vim')
-rw-r--r-- | src/testdir/test_arglist.vim | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/src/testdir/test_arglist.vim b/src/testdir/test_arglist.vim index 057cb0d5d6..b896c3dec6 100644 --- a/src/testdir/test_arglist.vim +++ b/src/testdir/test_arglist.vim @@ -278,13 +278,53 @@ func Test_arglistid() call assert_equal(0, arglistid()) endfunc -" Test for argv() +" Tests for argv() and argc() func Test_argv() call Reset_arglist() call assert_equal([], argv()) call assert_equal("", argv(2)) + call assert_equal(0, argc()) argadd a b c d + call assert_equal(4, argc()) call assert_equal('c', argv(2)) + + let w1_id = win_getid() + split + let w2_id = win_getid() + arglocal + args e f g + tabnew + let w3_id = win_getid() + split + let w4_id = win_getid() + argglobal + tabfirst + call assert_equal(4, argc(w1_id)) + call assert_equal('b', argv(1, w1_id)) + call assert_equal(['a', 'b', 'c', 'd'], argv(-1, w1_id)) + + call assert_equal(3, argc(w2_id)) + call assert_equal('f', argv(1, w2_id)) + call assert_equal(['e', 'f', 'g'], argv(-1, w2_id)) + + call assert_equal(3, argc(w3_id)) + call assert_equal('e', argv(0, w3_id)) + call assert_equal(['e', 'f', 'g'], argv(-1, w3_id)) + + call assert_equal(4, argc(w4_id)) + call assert_equal('c', argv(2, w4_id)) + call assert_equal(['a', 'b', 'c', 'd'], argv(-1, w4_id)) + + call assert_equal(4, argc(-1)) + call assert_equal(3, argc()) + call assert_equal('d', argv(3, -1)) + call assert_equal(['a', 'b', 'c', 'd'], argv(-1, -1)) + tabonly | only | enew! + " Negative test cases + call assert_equal(-1, argc(100)) + call assert_equal('', argv(1, 100)) + call assert_equal([], argv(-1, 100)) + call assert_equal('', argv(10, -1)) endfunc " Test for the :argedit command |