comparison src/testdir/test_arglist.vim @ 7647:65b2d593c203 v7.4.1123

commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jan 17 19:39:00 2016 +0100 patch 7.4.1123 Problem: Using ":argadd" when there are no arguments results in the second argument to be the current one. (Yegappan Lakshmanan) Solution: Correct the w_arg_idx value.
author Christian Brabandt <cb@256bit.org>
date Sun, 17 Jan 2016 19:45:04 +0100
parents 0ecb62a66a7a
children 8edd1afaf6b7
comparison
equal deleted inserted replaced
7646:a9a6001dc181 7647:65b2d593c203
18 1argdelete 18 1argdelete
19 call assert_equal(0, argidx()) 19 call assert_equal(0, argidx())
20 1argdelete 20 1argdelete
21 call assert_equal(0, argidx()) 21 call assert_equal(0, argidx())
22 endfunc 22 endfunc
23
24 func Test_argadd()
25 %argdelete
26 argadd a b c
27 call assert_equal(0, argidx())
28
29 %argdelete
30 argadd a
31 call assert_equal(0, argidx())
32 argadd b c d
33 call assert_equal(0, argidx())
34
35 call Init_abc()
36 argadd x
37 call Assert_argc(['a', 'b', 'x', 'c'])
38 call assert_equal(1, argidx())
39
40 call Init_abc()
41 0argadd x
42 call Assert_argc(['x', 'a', 'b', 'c'])
43 call assert_equal(2, argidx())
44
45 call Init_abc()
46 1argadd x
47 call Assert_argc(['a', 'x', 'b', 'c'])
48 call assert_equal(2, argidx())
49
50 call Init_abc()
51 $argadd x
52 call Assert_argc(['a', 'b', 'c', 'x'])
53 call assert_equal(1, argidx())
54
55 call Init_abc()
56 $argadd x
57 +2argadd y
58 call Assert_argc(['a', 'b', 'c', 'x', 'y'])
59 call assert_equal(1, argidx())
60 endfunc
61
62 func Init_abc()
63 args a b c
64 next
65 endfunc
66
67 func Assert_argc(l)
68 call assert_equal(len(a:l), argc())
69 let i = 0
70 while i < len(a:l) && i < argc()
71 call assert_equal(a:l[i], argv(i))
72 let i += 1
73 endwhile
74 endfunc