blob: 522631741a10450c2313228eeed03ee2a15b9e53 [file] [log] [blame]
Bram Moolenaar72defda2016-01-17 18:04:33 +01001" Test argument list commands
2
3func Test_argidx()
4 args a b c
5 last
6 call assert_equal(2, argidx())
7 %argdelete
8 call assert_equal(0, argidx())
9
10 args a b c
11 call assert_equal(0, argidx())
12 next
13 call assert_equal(1, argidx())
14 next
15 call assert_equal(2, argidx())
16 1argdelete
17 call assert_equal(1, argidx())
18 1argdelete
19 call assert_equal(0, argidx())
20 1argdelete
21 call assert_equal(0, argidx())
22endfunc
Bram Moolenaara24f0a52016-01-17 19:39:00 +010023
24func 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())
60endfunc
61
62func Init_abc()
63 args a b c
64 next
65endfunc
66
67func 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
74endfunc