annotate src/testdir/test_arglist.vim @ 21005:3f0abea9bed2

Added tag v8.2.1053 for changeset 0650d220f7422f96aed6270c055ad7e7a357af28
author Bram Moolenaar <Bram@vim.org>
date Thu, 25 Jun 2020 19:15:26 +0200
parents 116c7bd5e980
children 7acceb76669f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7639
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test argument list commands
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
20625
116c7bd5e980 patch 8.2.0866: not enough tests for buffer writing
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
3 source check.vim
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
4 source shared.vim
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
5 source term_util.vim
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
6
7639
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 func Test_argidx()
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 args a b c
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 last
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 call assert_equal(2, argidx())
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 %argdelete
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 call assert_equal(0, argidx())
11103
3335c3c75611 patch 8.0.0439: ":%argdel" gives an error for an empty arglist
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
13 " doing it again doesn't result in an error
3335c3c75611 patch 8.0.0439: ":%argdel" gives an error for an empty arglist
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
14 %argdelete
3335c3c75611 patch 8.0.0439: ":%argdel" gives an error for an empty arglist
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
15 call assert_equal(0, argidx())
3335c3c75611 patch 8.0.0439: ":%argdel" gives an error for an empty arglist
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
16 call assert_fails('2argdelete', 'E16:')
7639
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 args a b c
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 call assert_equal(0, argidx())
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 next
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 call assert_equal(1, argidx())
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 next
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 call assert_equal(2, argidx())
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 1argdelete
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 call assert_equal(1, argidx())
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 1argdelete
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 call assert_equal(0, argidx())
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 1argdelete
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 call assert_equal(0, argidx())
0ecb62a66a7a commit https://github.com/vim/vim/commit/72defda84eb26be9e2ade56c7877b912f818026e
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 endfunc
7647
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
31
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
32 func Test_argadd()
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
33 %argdelete
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
34 argadd a b c
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
35 call assert_equal(0, argidx())
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
36
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
37 %argdelete
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
38 argadd a
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
39 call assert_equal(0, argidx())
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
40 argadd b c d
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
41 call assert_equal(0, argidx())
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
42
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
43 call Init_abc()
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
44 argadd x
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
45 call Assert_argc(['a', 'b', 'x', 'c'])
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
46 call assert_equal(1, argidx())
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
47
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
48 call Init_abc()
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
49 0argadd x
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
50 call Assert_argc(['x', 'a', 'b', 'c'])
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
51 call assert_equal(2, argidx())
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
52
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
53 call Init_abc()
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
54 1argadd x
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
55 call Assert_argc(['a', 'x', 'b', 'c'])
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
56 call assert_equal(2, argidx())
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
57
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
58 call Init_abc()
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
59 $argadd x
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
60 call Assert_argc(['a', 'b', 'c', 'x'])
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
61 call assert_equal(1, argidx())
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
62
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
63 call Init_abc()
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
64 $argadd x
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
65 +2argadd y
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
66 call Assert_argc(['a', 'b', 'c', 'x', 'y'])
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
67 call assert_equal(1, argidx())
7726
f6311c321411 commit https://github.com/vim/vim/commit/2faa29f896252073b53f387406109e331fbbe5f8
Christian Brabandt <cb@256bit.org>
parents: 7672
diff changeset
68
f6311c321411 commit https://github.com/vim/vim/commit/2faa29f896252073b53f387406109e331fbbe5f8
Christian Brabandt <cb@256bit.org>
parents: 7672
diff changeset
69 %argd
f6311c321411 commit https://github.com/vim/vim/commit/2faa29f896252073b53f387406109e331fbbe5f8
Christian Brabandt <cb@256bit.org>
parents: 7672
diff changeset
70 edit d
f6311c321411 commit https://github.com/vim/vim/commit/2faa29f896252073b53f387406109e331fbbe5f8
Christian Brabandt <cb@256bit.org>
parents: 7672
diff changeset
71 arga
11935
976b480ced9a patch 8.0.0847: :argadd without argument can't handle space in file name
Christian Brabandt <cb@256bit.org>
parents: 11680
diff changeset
72 call assert_equal(1, len(argv()))
976b480ced9a patch 8.0.0847: :argadd without argument can't handle space in file name
Christian Brabandt <cb@256bit.org>
parents: 11680
diff changeset
73 call assert_equal('d', get(argv(), 0, ''))
976b480ced9a patch 8.0.0847: :argadd without argument can't handle space in file name
Christian Brabandt <cb@256bit.org>
parents: 11680
diff changeset
74
976b480ced9a patch 8.0.0847: :argadd without argument can't handle space in file name
Christian Brabandt <cb@256bit.org>
parents: 11680
diff changeset
75 %argd
976b480ced9a patch 8.0.0847: :argadd without argument can't handle space in file name
Christian Brabandt <cb@256bit.org>
parents: 11680
diff changeset
76 edit some\ file
976b480ced9a patch 8.0.0847: :argadd without argument can't handle space in file name
Christian Brabandt <cb@256bit.org>
parents: 11680
diff changeset
77 arga
976b480ced9a patch 8.0.0847: :argadd without argument can't handle space in file name
Christian Brabandt <cb@256bit.org>
parents: 11680
diff changeset
78 call assert_equal(1, len(argv()))
976b480ced9a patch 8.0.0847: :argadd without argument can't handle space in file name
Christian Brabandt <cb@256bit.org>
parents: 11680
diff changeset
79 call assert_equal('some file', get(argv(), 0, ''))
7726
f6311c321411 commit https://github.com/vim/vim/commit/2faa29f896252073b53f387406109e331fbbe5f8
Christian Brabandt <cb@256bit.org>
parents: 7672
diff changeset
80
f6311c321411 commit https://github.com/vim/vim/commit/2faa29f896252073b53f387406109e331fbbe5f8
Christian Brabandt <cb@256bit.org>
parents: 7672
diff changeset
81 %argd
f6311c321411 commit https://github.com/vim/vim/commit/2faa29f896252073b53f387406109e331fbbe5f8
Christian Brabandt <cb@256bit.org>
parents: 7672
diff changeset
82 new
f6311c321411 commit https://github.com/vim/vim/commit/2faa29f896252073b53f387406109e331fbbe5f8
Christian Brabandt <cb@256bit.org>
parents: 7672
diff changeset
83 arga
11935
976b480ced9a patch 8.0.0847: :argadd without argument can't handle space in file name
Christian Brabandt <cb@256bit.org>
parents: 11680
diff changeset
84 call assert_equal(0, len(argv()))
7647
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
85 endfunc
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
86
14656
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
87 func Test_argadd_empty_curbuf()
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
88 new
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
89 let curbuf = bufnr('%')
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
90 call writefile(['test', 'Xargadd'], 'Xargadd')
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
91 " must not re-use the current buffer.
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
92 argadd Xargadd
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
93 call assert_equal(curbuf, bufnr('%'))
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
94 call assert_equal('', bufname('%'))
17916
2e53305f2239 patch 8.1.1954: more functions can be used as a method
Bram Moolenaar <Bram@vim.org>
parents: 17855
diff changeset
95 call assert_equal(1, '$'->line())
14656
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
96 rew
17783
45eca7143d7c patch 8.1.1888: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17598
diff changeset
97 call assert_notequal(curbuf, '%'->bufnr())
45eca7143d7c patch 8.1.1888: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents: 17598
diff changeset
98 call assert_equal('Xargadd', '%'->bufname())
14656
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
99 call assert_equal(2, line('$'))
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
100
14836
516fc9fc4f1f patch 8.1.0430: Xargadd file left behind after running test
Christian Brabandt <cb@256bit.org>
parents: 14784
diff changeset
101 call delete('Xargadd')
14656
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
102 %argd
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
103 bwipe!
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
104 endfunc
0d5726f2913b patch 8.1.0341: :argadd in empty buffer changes the buffer name
Christian Brabandt <cb@256bit.org>
parents: 13782
diff changeset
105
7647
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
106 func Init_abc()
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
107 args a b c
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
108 next
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
109 endfunc
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
110
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
111 func Assert_argc(l)
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
112 call assert_equal(len(a:l), argc())
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
113 let i = 0
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
114 while i < len(a:l) && i < argc()
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
115 call assert_equal(a:l[i], argv(i))
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
116 let i += 1
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
117 endwhile
65b2d593c203 commit https://github.com/vim/vim/commit/a24f0a550fed3d9773800cf6be4efd072fff20ec
Christian Brabandt <cb@256bit.org>
parents: 7639
diff changeset
118 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
119
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
120 " Test for [count]argument and [count]argdelete commands
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
121 " Ported from the test_argument_count.in test script
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
122 func Test_argument()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
123 " Clean the argument list
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
124 arga a | %argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
125
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
126 let save_hidden = &hidden
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
127 set hidden
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
128
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
129 let g:buffers = []
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
130 augroup TEST
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
131 au BufEnter * call add(buffers, expand('%:t'))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
132 augroup END
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
133
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
134 argadd a b c d
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
135 $argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
136 $-argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
137 -argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
138 1argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
139 +2argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
140
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
141 augroup TEST
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
142 au!
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
143 augroup END
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
144
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
145 call assert_equal(['d', 'c', 'b', 'a', 'c'], g:buffers)
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
146
17478
f9a443306174 patch 8.1.1737: :args command that outputs one line gives more prompt
Bram Moolenaar <Bram@vim.org>
parents: 15290
diff changeset
147 call assert_equal("\na b [c] d ", execute(':args'))
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
148
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
149 .argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
150 call assert_equal(['a', 'b', 'd'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
151
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
152 -argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
153 call assert_equal(['a', 'd'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
154
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
155 $argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
156 call assert_equal(['a'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
157
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
158 1arga c
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
159 1arga b
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
160 $argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
161 $arga x
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
162 call assert_equal(['a', 'b', 'c', 'x'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
163
7672
da2eb24b83d2 commit https://github.com/vim/vim/commit/301417041bdb15264a9c8ff20e4fea4dcc12c478
Christian Brabandt <cb@256bit.org>
parents: 7670
diff changeset
164 0arga y
da2eb24b83d2 commit https://github.com/vim/vim/commit/301417041bdb15264a9c8ff20e4fea4dcc12c478
Christian Brabandt <cb@256bit.org>
parents: 7670
diff changeset
165 call assert_equal(['y', 'a', 'b', 'c', 'x'], argv())
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
166
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
167 %argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
168 call assert_equal([], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
169
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
170 arga a b c d e f
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
171 2,$-argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
172 call assert_equal(['a', 'f'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
173
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
174 let &hidden = save_hidden
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
175
17524
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
176 let save_columns = &columns
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
177 let &columns = 79
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
178 exe 'args ' .. join(range(1, 81))
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
179 call assert_equal(join([
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
180 \ '',
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
181 \ '[1] 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 ',
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
182 \ '2 7 12 17 22 27 32 37 42 47 52 57 62 67 72 77 ',
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
183 \ '3 8 13 18 23 28 33 38 43 48 53 58 63 68 73 78 ',
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
184 \ '4 9 14 19 24 29 34 39 44 49 54 59 64 69 74 79 ',
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
185 \ '5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 ',
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
186 \ ], "\n"),
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
187 \ execute('args'))
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
188
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
189 " No trailing newline with one item per row.
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
190 let long_arg = repeat('X', 81)
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
191 exe 'args ' .. long_arg
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
192 call assert_equal("\n[".long_arg.']', execute('args'))
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
193 let &columns = save_columns
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
194
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
195 " Setting argument list should fail when the current buffer has unsaved
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
196 " changes
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
197 %argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
198 enew!
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
199 set modified
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
200 call assert_fails('args x y z', 'E37:')
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
201 args! x y z
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
202 call assert_equal(['x', 'y', 'z'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
203 call assert_equal('x', expand('%:t'))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
204
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
205 last | enew | argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
206 call assert_equal('z', expand('%:t'))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
207
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
208 %argdelete
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
209 call assert_fails('argument', 'E163:')
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
210 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
211
13732
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
212 func Test_list_arguments()
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
213 " Clean the argument list
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
214 arga a | %argd
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
215
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
216 " four args half the screen width makes two lines with two columns
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
217 let aarg = repeat('a', &columns / 2 - 4)
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
218 let barg = repeat('b', &columns / 2 - 4)
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
219 let carg = repeat('c', &columns / 2 - 4)
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
220 let darg = repeat('d', &columns / 2 - 4)
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
221 exe 'argadd ' aarg barg carg darg
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
222
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
223 redir => result
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
224 args
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
225 redir END
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
226 call assert_match('\[' . aarg . '] \+' . carg . '\n' . barg . ' \+' . darg, trim(result))
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
227
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
228 " if one arg is longer than half the screen make one column
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
229 exe 'argdel' aarg
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
230 let aarg = repeat('a', &columns / 2 + 2)
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
231 exe '0argadd' aarg
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
232 redir => result
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
233 args
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
234 redir END
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
235 call assert_match(aarg . '\n\[' . barg . ']\n' . carg . '\n' . darg, trim(result))
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
236
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
237 %argdelete
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
238 endfunc
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
239
15286
d2a162896a2a patch 8.1.0651: :args "foo works like :args without argument
Bram Moolenaar <Bram@vim.org>
parents: 15097
diff changeset
240 func Test_args_with_quote()
15290
424f2596f582 patch 8.1.0653: arglist test fails on MS-windows
Bram Moolenaar <Bram@vim.org>
parents: 15286
diff changeset
241 " Only on Unix can a file name include a double quote.
424f2596f582 patch 8.1.0653: arglist test fails on MS-windows
Bram Moolenaar <Bram@vim.org>
parents: 15286
diff changeset
242 if has('unix')
424f2596f582 patch 8.1.0653: arglist test fails on MS-windows
Bram Moolenaar <Bram@vim.org>
parents: 15286
diff changeset
243 args \"foobar
424f2596f582 patch 8.1.0653: arglist test fails on MS-windows
Bram Moolenaar <Bram@vim.org>
parents: 15286
diff changeset
244 call assert_equal('"foobar', argv(0))
424f2596f582 patch 8.1.0653: arglist test fails on MS-windows
Bram Moolenaar <Bram@vim.org>
parents: 15286
diff changeset
245 %argdelete
424f2596f582 patch 8.1.0653: arglist test fails on MS-windows
Bram Moolenaar <Bram@vim.org>
parents: 15286
diff changeset
246 endif
15286
d2a162896a2a patch 8.1.0651: :args "foo works like :args without argument
Bram Moolenaar <Bram@vim.org>
parents: 15097
diff changeset
247 endfunc
d2a162896a2a patch 8.1.0651: :args "foo works like :args without argument
Bram Moolenaar <Bram@vim.org>
parents: 15097
diff changeset
248
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
249 " Test for 0argadd and 0argedit
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
250 " Ported from the test_argument_0count.in test script
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
251 func Test_zero_argadd()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
252 " Clean the argument list
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
253 arga a | %argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
254
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
255 arga a b c d
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
256 2argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
257 0arga added
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
258 call assert_equal(['added', 'a', 'b', 'c', 'd'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
259
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
260 2argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
261 arga third
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
262 call assert_equal(['added', 'a', 'third', 'b', 'c', 'd'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
263
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
264 %argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
265 arga a b c d
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
266 2argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
267 0arge edited
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
268 call assert_equal(['edited', 'a', 'b', 'c', 'd'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
269
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
270 2argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
271 arga third
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
272 call assert_equal(['edited', 'a', 'third', 'b', 'c', 'd'], argv())
11676
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
273
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
274 2argu
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
275 argedit file\ with\ spaces another file
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
276 call assert_equal(['edited', 'a', 'file with spaces', 'another', 'file', 'third', 'b', 'c', 'd'], argv())
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
277 call assert_equal('file with spaces', expand('%'))
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
278 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
279
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
280 func Reset_arglist()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
281 args a | %argd
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
282 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
283
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
284 " Test for argc()
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
285 func Test_argc()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
286 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
287 call assert_equal(0, argc())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
288 argadd a b
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
289 call assert_equal(2, argc())
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
290 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
291
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
292 " Test for arglistid()
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
293 func Test_arglistid()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
294 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
295 arga a b
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
296 call assert_equal(0, arglistid())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
297 split
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
298 arglocal
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
299 call assert_equal(1, arglistid())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
300 tabnew | tabfirst
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
301 call assert_equal(0, arglistid(2))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
302 call assert_equal(1, arglistid(1, 1))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
303 call assert_equal(0, arglistid(2, 1))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
304 call assert_equal(1, arglistid(1, 2))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
305 tabonly | only | enew!
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
306 argglobal
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
307 call assert_equal(0, arglistid())
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
308 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
309
14964
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
310 " Tests for argv() and argc()
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
311 func Test_argv()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
312 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
313 call assert_equal([], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
314 call assert_equal("", argv(2))
14964
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
315 call assert_equal(0, argc())
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
316 argadd a b c d
14964
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
317 call assert_equal(4, argc())
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
318 call assert_equal('c', argv(2))
14964
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
319
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
320 let w1_id = win_getid()
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
321 split
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
322 let w2_id = win_getid()
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
323 arglocal
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
324 args e f g
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
325 tabnew
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
326 let w3_id = win_getid()
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
327 split
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
328 let w4_id = win_getid()
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
329 argglobal
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
330 tabfirst
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
331 call assert_equal(4, argc(w1_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
332 call assert_equal('b', argv(1, w1_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
333 call assert_equal(['a', 'b', 'c', 'd'], argv(-1, w1_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
334
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
335 call assert_equal(3, argc(w2_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
336 call assert_equal('f', argv(1, w2_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
337 call assert_equal(['e', 'f', 'g'], argv(-1, w2_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
338
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
339 call assert_equal(3, argc(w3_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
340 call assert_equal('e', argv(0, w3_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
341 call assert_equal(['e', 'f', 'g'], argv(-1, w3_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
342
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
343 call assert_equal(4, argc(w4_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
344 call assert_equal('c', argv(2, w4_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
345 call assert_equal(['a', 'b', 'c', 'd'], argv(-1, w4_id))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
346
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
347 call assert_equal(4, argc(-1))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
348 call assert_equal(3, argc())
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
349 call assert_equal('d', argv(3, -1))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
350 call assert_equal(['a', 'b', 'c', 'd'], argv(-1, -1))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
351 tabonly | only | enew!
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
352 " Negative test cases
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
353 call assert_equal(-1, argc(100))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
354 call assert_equal('', argv(1, 100))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
355 call assert_equal([], argv(-1, 100))
2c0bfa167468 patch 8.1.0493: argv() and argc() only work on the current argument list
Bram Moolenaar <Bram@vim.org>
parents: 14836
diff changeset
356 call assert_equal('', argv(10, -1))
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
357 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
358
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
359 " Test for the :argedit command
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
360 func Test_argedit()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
361 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
362 argedit a
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
363 call assert_equal(['a'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
364 call assert_equal('a', expand('%:t'))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
365 argedit b
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
366 call assert_equal(['a', 'b'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
367 call assert_equal('b', expand('%:t'))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
368 argedit a
11676
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
369 call assert_equal(['a', 'b', 'a'], argv())
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
370 call assert_equal('a', expand('%:t'))
11680
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
371 " When file name case is ignored, an existing buffer with only case
12692
03a6aeea2096 patch 8.0.1224: still interference between test functions
Christian Brabandt <cb@256bit.org>
parents: 11935
diff changeset
372 " difference is re-used.
11676
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
373 argedit C D
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
374 call assert_equal('C', expand('%:t'))
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
375 call assert_equal(['a', 'b', 'a', 'C', 'D'], argv())
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
376 argedit c
11680
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
377 if has('fname_case')
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
378 call assert_equal(['a', 'b', 'a', 'C', 'c', 'D'], argv())
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
379 else
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
380 call assert_equal(['a', 'b', 'a', 'C', 'C', 'D'], argv())
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
381 endif
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
382 0argedit x
11680
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
383 if has('fname_case')
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
384 call assert_equal(['x', 'a', 'b', 'a', 'C', 'c', 'D'], argv())
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
385 else
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
386 call assert_equal(['x', 'a', 'b', 'a', 'C', 'C', 'D'], argv())
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
387 endif
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
388 enew! | set modified
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
389 call assert_fails('argedit y', 'E37:')
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
390 argedit! y
11680
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
391 if has('fname_case')
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
392 call assert_equal(['x', 'y', 'y', 'a', 'b', 'a', 'C', 'c', 'D'], argv())
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
393 else
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
394 call assert_equal(['x', 'y', 'y', 'a', 'b', 'a', 'C', 'C', 'D'], argv())
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
395 endif
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
396 %argd
11680
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
397 bwipe! C
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
398 bwipe! D
13782
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
399
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
400 " :argedit reuses the current buffer if it is empty
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
401 %argd
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
402 " make sure to use a new buffer number for x when it is loaded
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
403 bw! x
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
404 new
17855
285f7a700185 patch 8.1.1924: using empty string for current buffer is unexpected
Bram Moolenaar <Bram@vim.org>
parents: 17783
diff changeset
405 let a = bufnr()
13782
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
406 argedit x
17855
285f7a700185 patch 8.1.1924: using empty string for current buffer is unexpected
Bram Moolenaar <Bram@vim.org>
parents: 17783
diff changeset
407 call assert_equal(a, bufnr())
285f7a700185 patch 8.1.1924: using empty string for current buffer is unexpected
Bram Moolenaar <Bram@vim.org>
parents: 17783
diff changeset
408 call assert_equal('x', bufname())
13782
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
409 %argd
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
410 bw! x
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
411 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
412
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
413 " Test for the :argdelete command
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
414 func Test_argdelete()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
415 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
416 args aa a aaa b bb
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
417 argdelete a*
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
418 call assert_equal(['b', 'bb'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
419 call assert_equal('aa', expand('%:t'))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
420 last
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
421 argdelete %
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
422 call assert_equal(['b'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
423 call assert_fails('argdelete', 'E471:')
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
424 call assert_fails('1,100argdelete', 'E16:')
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
425 %argd
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
426 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
427
15097
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
428 func Test_argdelete_completion()
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
429 args foo bar
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
430
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
431 call feedkeys(":argdelete \<C-A>\<C-B>\"\<CR>", 'tx')
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
432 call assert_equal('"argdelete bar foo', @:)
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
433
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
434 call feedkeys(":argdelete x \<C-A>\<C-B>\"\<CR>", 'tx')
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
435 call assert_equal('"argdelete x bar foo', @:)
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
436
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
437 %argd
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
438 endfunc
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
439
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
440 " Tests for the :next, :prev, :first, :last, :rewind commands
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
441 func Test_argpos()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
442 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
443 args a b c d
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
444 last
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
445 call assert_equal(3, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
446 call assert_fails('next', 'E165:')
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
447 prev
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
448 call assert_equal(2, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
449 Next
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
450 call assert_equal(1, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
451 first
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
452 call assert_equal(0, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
453 call assert_fails('prev', 'E164:')
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
454 3next
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
455 call assert_equal(3, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
456 rewind
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
457 call assert_equal(0, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
458 %argd
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
459 endfunc
10145
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
460
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
461 " Test for autocommand that redefines the argument list, when doing ":all".
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
462 func Test_arglist_autocmd()
10145
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
463 autocmd BufReadPost Xxx2 next Xxx2 Xxx1
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
464 call writefile(['test file Xxx1'], 'Xxx1')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
465 call writefile(['test file Xxx2'], 'Xxx2')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
466 call writefile(['test file Xxx3'], 'Xxx3')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
467
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
468 new
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
469 " redefine arglist; go to Xxx1
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
470 next! Xxx1 Xxx2 Xxx3
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
471 " open window for all args
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
472 all
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
473 call assert_equal('test file Xxx1', getline(1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
474 wincmd w
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
475 wincmd w
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
476 call assert_equal('test file Xxx1', getline(1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
477 " should now be in Xxx2
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
478 rewind
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
479 call assert_equal('test file Xxx2', getline(1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
480
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
481 autocmd! BufReadPost Xxx2
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
482 enew! | only
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
483 call delete('Xxx1')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
484 call delete('Xxx2')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
485 call delete('Xxx3')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
486 argdelete Xxx*
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
487 bwipe! Xxx1 Xxx2 Xxx3
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
488 endfunc
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
489
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
490 func Test_arg_all_expand()
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
491 call writefile(['test file Xxx1'], 'Xx x')
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
492 next notexist Xx\ x runtest.vim
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
493 call assert_equal('notexist Xx\ x runtest.vim', expand('##'))
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
494 call delete('Xx x')
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
495 endfunc
14784
0745e2cd4606 patch 8.1.0404: accessing invalid memory with long argument name
Christian Brabandt <cb@256bit.org>
parents: 14656
diff changeset
496
0745e2cd4606 patch 8.1.0404: accessing invalid memory with long argument name
Christian Brabandt <cb@256bit.org>
parents: 14656
diff changeset
497 func Test_large_arg()
0745e2cd4606 patch 8.1.0404: accessing invalid memory with long argument name
Christian Brabandt <cb@256bit.org>
parents: 14656
diff changeset
498 " Argument longer or equal to the number of columns used to cause
0745e2cd4606 patch 8.1.0404: accessing invalid memory with long argument name
Christian Brabandt <cb@256bit.org>
parents: 14656
diff changeset
499 " access to invalid memory.
0745e2cd4606 patch 8.1.0404: accessing invalid memory with long argument name
Christian Brabandt <cb@256bit.org>
parents: 14656
diff changeset
500 exe 'argadd ' .repeat('x', &columns)
0745e2cd4606 patch 8.1.0404: accessing invalid memory with long argument name
Christian Brabandt <cb@256bit.org>
parents: 14656
diff changeset
501 args
0745e2cd4606 patch 8.1.0404: accessing invalid memory with long argument name
Christian Brabandt <cb@256bit.org>
parents: 14656
diff changeset
502 endfunc
17598
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
503
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
504 func Test_argdo()
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
505 next! Xa.c Xb.c Xc.c
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
506 new
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
507 let l = []
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
508 argdo call add(l, expand('%'))
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
509 call assert_equal(['Xa.c', 'Xb.c', 'Xc.c'], l)
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
510 bwipe Xa.c Xb.c Xc.c
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
511 endfunc
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
512
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
513 " Test for quiting Vim with unedited files in the argument list
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
514 func Test_quit_with_arglist()
20625
116c7bd5e980 patch 8.2.0866: not enough tests for buffer writing
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
515 CheckRunVimInTerminal
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
516 let buf = RunVimInTerminal('', {'rows': 6})
19471
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19435
diff changeset
517 call term_sendkeys(buf, ":set nomore\n")
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
518 call term_sendkeys(buf, ":args a b c\n")
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
519 call term_sendkeys(buf, ":quit\n")
19954
c087099e9163 patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents: 19625
diff changeset
520 call TermWait(buf)
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
521 call WaitForAssert({-> assert_match('^E173:', term_getline(buf, 6))})
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
522 call StopVimInTerminal(buf)
19435
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
523
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
524 " Try :confirm quit with unedited files in arglist
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
525 let buf = RunVimInTerminal('', {'rows': 6})
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
526 call term_sendkeys(buf, ":set nomore\n")
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
527 call term_sendkeys(buf, ":args a b c\n")
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
528 call term_sendkeys(buf, ":confirm quit\n")
19954
c087099e9163 patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents: 19625
diff changeset
529 call TermWait(buf)
19435
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
530 call WaitForAssert({-> assert_match('^\[Y\]es, (N)o: *$',
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
531 \ term_getline(buf, 6))})
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
532 call term_sendkeys(buf, "N")
19954
c087099e9163 patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents: 19625
diff changeset
533 call TermWait(buf)
19435
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
534 call term_sendkeys(buf, ":confirm quit\n")
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
535 call WaitForAssert({-> assert_match('^\[Y\]es, (N)o: *$',
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
536 \ term_getline(buf, 6))})
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
537 call term_sendkeys(buf, "Y")
19954
c087099e9163 patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents: 19625
diff changeset
538 call TermWait(buf)
19471
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19435
diff changeset
539 call WaitForAssert({-> assert_equal("finished", term_getstatus(buf))})
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19435
diff changeset
540 only!
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
541 " When this test fails, swap files are left behind which breaks subsequent
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
542 " tests
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
543 call delete('.a.swp')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
544 call delete('.b.swp')
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
545 call delete('.c.swp')
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
546 endfunc
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
547
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
548 " vim: shiftwidth=2 sts=2 expandtab