annotate src/testdir/test_arglist.vim @ 23448:8f31b990ab1e v8.2.2267

patch 8.2.2267: Vim9: cannot use unlet for a dict member Commit: https://github.com/vim/vim/commit/c368957b1904bfaa2b0b52bbcade51b20173f3ed Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jan 1 19:40:02 2021 +0100 patch 8.2.2267: Vim9: cannot use unlet for a dict member Problem: Vim9: cannot use unlet for a dict member. Solution: Pass GLV_NO_DECL to get_lval(). (closes https://github.com/vim/vim/issues/7585)
author Bram Moolenaar <Bram@vim.org>
date Fri, 01 Jan 2021 19:45:03 +0100
parents b545334ae654
children fc031340f8f9
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
21028
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
178 try
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
179 exe 'args ' .. join(range(1, 81))
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
180 call assert_equal(join([
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
181 \ '',
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
182 \ '[1] 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 ',
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
183 \ '2 7 12 17 22 27 32 37 42 47 52 57 62 67 72 77 ',
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
184 \ '3 8 13 18 23 28 33 38 43 48 53 58 63 68 73 78 ',
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
185 \ '4 9 14 19 24 29 34 39 44 49 54 59 64 69 74 79 ',
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
186 \ '5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 ',
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
187 \ ], "\n"),
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
188 \ execute('args'))
17524
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
189
21028
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
190 " No trailing newline with one item per row.
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
191 let long_arg = repeat('X', 81)
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
192 exe 'args ' .. long_arg
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
193 call assert_equal("\n[".long_arg.']', execute('args'))
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
194 finally
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
195 let &columns = save_columns
7acceb76669f patch 8.2.1065: Vim9: no line break allowed inside a list
Bram Moolenaar <Bram@vim.org>
parents: 20625
diff changeset
196 endtry
17524
2b35e273392b patch 8.1.1760: extra line break for wrapping output of :args
Bram Moolenaar <Bram@vim.org>
parents: 17478
diff changeset
197
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
198 " 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
199 " changes
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
200 %argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
201 enew!
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
202 set modified
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
203 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
204 args! x y z
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
205 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
206 call assert_equal('x', 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 last | enew | argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
209 call assert_equal('z', expand('%:t'))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
210
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
211 %argdelete
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
212 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
213 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
214
13732
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
215 func Test_list_arguments()
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
216 " Clean the argument list
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
217 arga a | %argd
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
218
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
219 " 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
220 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
221 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
222 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
223 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
224 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
225
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
226 redir => result
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
227 args
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
228 redir END
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
229 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
230
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
231 " 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
232 exe 'argdel' aarg
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
233 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
234 exe '0argadd' aarg
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
235 redir => result
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
236 args
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
237 redir END
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
238 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
239
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
240 %argdelete
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
241 endfunc
8ca1da2a043b patch 8.0.1738: ":args" output is hard to read
Christian Brabandt <cb@256bit.org>
parents: 12692
diff changeset
242
15286
d2a162896a2a patch 8.1.0651: :args "foo works like :args without argument
Bram Moolenaar <Bram@vim.org>
parents: 15097
diff changeset
243 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
244 " Only on Unix can a file name include a double quote.
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21028
diff changeset
245 CheckUnix
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21028
diff changeset
246
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21028
diff changeset
247 args \"foobar
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21028
diff changeset
248 call assert_equal('"foobar', argv(0))
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 21028
diff changeset
249 %argdelete
15286
d2a162896a2a patch 8.1.0651: :args "foo works like :args without argument
Bram Moolenaar <Bram@vim.org>
parents: 15097
diff changeset
250 endfunc
d2a162896a2a patch 8.1.0651: :args "foo works like :args without argument
Bram Moolenaar <Bram@vim.org>
parents: 15097
diff changeset
251
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
252 " Test for 0argadd and 0argedit
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
253 " 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
254 func Test_zero_argadd()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
255 " Clean the argument list
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
256 arga a | %argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
257
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
258 arga a b c d
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
259 2argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
260 0arga added
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
261 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
262
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
263 2argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
264 arga third
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
265 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
266
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
267 %argd
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
268 arga a b c d
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
269 2argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
270 0arge edited
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
271 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
272
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
273 2argu
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
274 arga third
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
275 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
276
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
277 2argu
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
278 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
279 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
280 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
281 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
282
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
283 func Reset_arglist()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
284 args a | %argd
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
285 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
286
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
287 " Test for argc()
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
288 func Test_argc()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
289 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
290 call assert_equal(0, argc())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
291 argadd a b
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
292 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
293 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
294
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
295 " Test for arglistid()
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
296 func Test_arglistid()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
297 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
298 arga a b
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
299 call assert_equal(0, arglistid())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
300 split
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
301 arglocal
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
302 call assert_equal(1, arglistid())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
303 tabnew | tabfirst
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
304 call assert_equal(0, arglistid(2))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
305 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
306 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
307 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
308 tabonly | only | enew!
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
309 argglobal
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
310 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
311 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
312
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
313 " 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
314 func Test_argv()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
315 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
316 call assert_equal([], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
317 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
318 call assert_equal(0, argc())
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
319 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
320 call assert_equal(4, argc())
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
321 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
322
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 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
324 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
325 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
326 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
327 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
328 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
329 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
330 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
331 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
332 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
333 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
334 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
335 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
336 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
337
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 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
339 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
340 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
341
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 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
343 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
344 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
345
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 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
347 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
348 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
349
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(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
351 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
352 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
353 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
354 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
355 " 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
356 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
357 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
358 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
359 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
360 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
361
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
362 " 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
363 func Test_argedit()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
364 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
365 argedit a
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
366 call assert_equal(['a'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
367 call assert_equal('a', expand('%:t'))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
368 argedit b
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
369 call assert_equal(['a', 'b'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
370 call assert_equal('b', expand('%:t'))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
371 argedit a
11676
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
372 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
373 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
374 " 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
375 " 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
376 argedit C D
f87c43fca41d patch 8.0.0721: :argedit can only have one argument
Christian Brabandt <cb@256bit.org>
parents: 11173
diff changeset
377 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
378 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
379 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
380 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
381 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
382 else
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
383 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
384 endif
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
385 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
386 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
387 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
388 else
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
389 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
390 endif
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
391 enew! | set modified
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
392 call assert_fails('argedit y', 'E37:')
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
393 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
394 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
395 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
396 else
c66d6dc92f53 patch 8.0.0723: arglist test fails if file name case is ignored
Christian Brabandt <cb@256bit.org>
parents: 11676
diff changeset
397 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
398 endif
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
399 %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
400 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
401 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
402
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
403 " :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
404 %argd
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
405 " 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
406 bw! x
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
407 new
17855
285f7a700185 patch 8.1.1924: using empty string for current buffer is unexpected
Bram Moolenaar <Bram@vim.org>
parents: 17783
diff changeset
408 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
409 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
410 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
411 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
412 %argd
3be5e8306a3e patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Christian Brabandt <cb@256bit.org>
parents: 13732
diff changeset
413 bw! x
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
414 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
415
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
416 " 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
417 func Test_argdelete()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
418 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
419 args aa a aaa b bb
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
420 argdelete a*
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
421 call assert_equal(['b', 'bb'], argv())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
422 call assert_equal('aa', expand('%:t'))
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
423 last
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
424 argdelete %
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
425 call assert_equal(['b'], argv())
21845
0e6ee11977b3 patch 8.2.1472: ":argdel" does not work like ":.argdel" as documented
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
426 call assert_fails('argdelete', 'E610:')
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
427 call assert_fails('1,100argdelete', 'E16:')
22375
595ea7f099cd patch 8.2.1736: failure to compile a pattern not tested much
Bram Moolenaar <Bram@vim.org>
parents: 21845
diff changeset
428 call assert_fails('argdel /\)/', 'E55:')
22510
7060df0b8ebf patch 8.2.1803: a few failures are not tested
Bram Moolenaar <Bram@vim.org>
parents: 22375
diff changeset
429 call assert_fails('1argdel 1', 'E474:')
21845
0e6ee11977b3 patch 8.2.1472: ":argdel" does not work like ":.argdel" as documented
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
430
0e6ee11977b3 patch 8.2.1472: ":argdel" does not work like ":.argdel" as documented
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
431 call Reset_arglist()
0e6ee11977b3 patch 8.2.1472: ":argdel" does not work like ":.argdel" as documented
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
432 args a b c d
0e6ee11977b3 patch 8.2.1472: ":argdel" does not work like ":.argdel" as documented
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
433 next
0e6ee11977b3 patch 8.2.1472: ":argdel" does not work like ":.argdel" as documented
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
434 argdel
0e6ee11977b3 patch 8.2.1472: ":argdel" does not work like ":.argdel" as documented
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
435 call Assert_argc(['a', 'c', 'd'])
0e6ee11977b3 patch 8.2.1472: ":argdel" does not work like ":.argdel" as documented
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
436 %argdel
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
437 endfunc
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
438
15097
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
439 func Test_argdelete_completion()
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
440 args foo bar
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
441
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
442 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
443 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
444
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
445 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
446 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
447
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
448 %argd
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
449 endfunc
1946487c74ba patch 8.1.0559: command line completion not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 14964
diff changeset
450
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
451 " 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
452 func Test_argpos()
7666
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
453 call Reset_arglist()
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
454 args a b c d
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
455 last
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
456 call assert_equal(3, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
457 call assert_fails('next', 'E165:')
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
458 prev
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
459 call assert_equal(2, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
460 Next
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
461 call assert_equal(1, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
462 first
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
463 call assert_equal(0, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
464 call assert_fails('prev', 'E164:')
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
465 3next
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
466 call assert_equal(3, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
467 rewind
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
468 call assert_equal(0, argidx())
8edd1afaf6b7 commit https://github.com/vim/vim/commit/99dbe291f55022bd5166c9c3c7967b8693cd9d1b
Christian Brabandt <cb@256bit.org>
parents: 7647
diff changeset
469 %argd
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
470 endfunc
10145
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
471
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
472 " 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
473 func Test_arglist_autocmd()
10145
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
474 autocmd BufReadPost Xxx2 next Xxx2 Xxx1
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
475 call writefile(['test file Xxx1'], 'Xxx1')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
476 call writefile(['test file Xxx2'], 'Xxx2')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
477 call writefile(['test file Xxx3'], 'Xxx3')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
478
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
479 new
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
480 " redefine arglist; go to Xxx1
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
481 next! Xxx1 Xxx2 Xxx3
22510
7060df0b8ebf patch 8.2.1803: a few failures are not tested
Bram Moolenaar <Bram@vim.org>
parents: 22375
diff changeset
482 " open window for all args; Reading Xxx2 will change the arglist and the
7060df0b8ebf patch 8.2.1803: a few failures are not tested
Bram Moolenaar <Bram@vim.org>
parents: 22375
diff changeset
483 " third window will get Xxx1:
7060df0b8ebf patch 8.2.1803: a few failures are not tested
Bram Moolenaar <Bram@vim.org>
parents: 22375
diff changeset
484 " win 1: Xxx1
7060df0b8ebf patch 8.2.1803: a few failures are not tested
Bram Moolenaar <Bram@vim.org>
parents: 22375
diff changeset
485 " win 2: Xxx2
7060df0b8ebf patch 8.2.1803: a few failures are not tested
Bram Moolenaar <Bram@vim.org>
parents: 22375
diff changeset
486 " win 3: Xxx1
10145
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
487 all
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
488 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
489 wincmd w
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
490 wincmd w
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
491 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
492 rewind
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
493 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
494
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
495 autocmd! BufReadPost Xxx2
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
496 enew! | only
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
497 call delete('Xxx1')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
498 call delete('Xxx2')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
499 call delete('Xxx3')
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
500 argdelete Xxx*
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents: 7726
diff changeset
501 bwipe! Xxx1 Xxx2 Xxx3
11173
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
502 endfunc
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
503
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
504 func Test_arg_all_expand()
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
505 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
506 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
507 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
508 call delete('Xx x')
cc94b80016fd patch 8.0.0473: no test covering arg_all()
Christian Brabandt <cb@256bit.org>
parents: 11103
diff changeset
509 endfunc
14784
0745e2cd4606 patch 8.1.0404: accessing invalid memory with long argument name
Christian Brabandt <cb@256bit.org>
parents: 14656
diff changeset
510
0745e2cd4606 patch 8.1.0404: accessing invalid memory with long argument name
Christian Brabandt <cb@256bit.org>
parents: 14656
diff changeset
511 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
512 " 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
513 " 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
514 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
515 args
0745e2cd4606 patch 8.1.0404: accessing invalid memory with long argument name
Christian Brabandt <cb@256bit.org>
parents: 14656
diff changeset
516 endfunc
17598
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
517
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
518 func Test_argdo()
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
519 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
520 new
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
521 let l = []
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
522 argdo call add(l, expand('%'))
c1aa462d2d45 patch 8.1.1796: :argdo is not tested
Bram Moolenaar <Bram@vim.org>
parents: 17524
diff changeset
523 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
524 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
525 endfunc
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
526
23229
b545334ae654 patch 8.2.2160: various typos
Bram Moolenaar <Bram@vim.org>
parents: 22510
diff changeset
527 " Test for quitting Vim with unedited files in the argument list
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
528 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
529 CheckRunVimInTerminal
19370
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
530 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
531 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
532 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
533 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
534 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
535 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
536 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
537
8f8a5a15d00a patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 19370
diff changeset
538 " 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
539 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
540 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
541 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
542 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
543 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
544 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
545 \ 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
546 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
547 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
548 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
549 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
550 \ 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
551 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
552 call TermWait(buf)
19471
cb73f4ae6b7c patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents: 19435
diff changeset
553 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
554 only!
19625
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
555 " 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
556 " tests
f70a3c1000bb patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
557 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
558 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
559 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
560 endfunc
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
561
02111977dd05 patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents: 17916
diff changeset
562 " vim: shiftwidth=2 sts=2 expandtab