Mercurial > vim
comparison src/testdir/test_arglist.vim @ 14964:2c0bfa167468 v8.1.0493
patch 8.1.0493: argv() and argc() only work on the current argument list
commit https://github.com/vim/vim/commit/e6e3989c1b3f18907a0c305712b867e9a3821369
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Oct 25 12:32:11 2018 +0200
patch 8.1.0493: argv() and argc() only work on the current argument list
Problem: argv() and argc() only work on the current argument list.
Solution: Add a window ID argument. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/832)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 25 Oct 2018 12:45:05 +0200 |
parents | 516fc9fc4f1f |
children | 1946487c74ba |
comparison
equal
deleted
inserted
replaced
14963:81993fcbec84 | 14964:2c0bfa167468 |
---|---|
276 tabonly | only | enew! | 276 tabonly | only | enew! |
277 argglobal | 277 argglobal |
278 call assert_equal(0, arglistid()) | 278 call assert_equal(0, arglistid()) |
279 endfunc | 279 endfunc |
280 | 280 |
281 " Test for argv() | 281 " Tests for argv() and argc() |
282 func Test_argv() | 282 func Test_argv() |
283 call Reset_arglist() | 283 call Reset_arglist() |
284 call assert_equal([], argv()) | 284 call assert_equal([], argv()) |
285 call assert_equal("", argv(2)) | 285 call assert_equal("", argv(2)) |
286 call assert_equal(0, argc()) | |
286 argadd a b c d | 287 argadd a b c d |
288 call assert_equal(4, argc()) | |
287 call assert_equal('c', argv(2)) | 289 call assert_equal('c', argv(2)) |
290 | |
291 let w1_id = win_getid() | |
292 split | |
293 let w2_id = win_getid() | |
294 arglocal | |
295 args e f g | |
296 tabnew | |
297 let w3_id = win_getid() | |
298 split | |
299 let w4_id = win_getid() | |
300 argglobal | |
301 tabfirst | |
302 call assert_equal(4, argc(w1_id)) | |
303 call assert_equal('b', argv(1, w1_id)) | |
304 call assert_equal(['a', 'b', 'c', 'd'], argv(-1, w1_id)) | |
305 | |
306 call assert_equal(3, argc(w2_id)) | |
307 call assert_equal('f', argv(1, w2_id)) | |
308 call assert_equal(['e', 'f', 'g'], argv(-1, w2_id)) | |
309 | |
310 call assert_equal(3, argc(w3_id)) | |
311 call assert_equal('e', argv(0, w3_id)) | |
312 call assert_equal(['e', 'f', 'g'], argv(-1, w3_id)) | |
313 | |
314 call assert_equal(4, argc(w4_id)) | |
315 call assert_equal('c', argv(2, w4_id)) | |
316 call assert_equal(['a', 'b', 'c', 'd'], argv(-1, w4_id)) | |
317 | |
318 call assert_equal(4, argc(-1)) | |
319 call assert_equal(3, argc()) | |
320 call assert_equal('d', argv(3, -1)) | |
321 call assert_equal(['a', 'b', 'c', 'd'], argv(-1, -1)) | |
322 tabonly | only | enew! | |
323 " Negative test cases | |
324 call assert_equal(-1, argc(100)) | |
325 call assert_equal('', argv(1, 100)) | |
326 call assert_equal([], argv(-1, 100)) | |
327 call assert_equal('', argv(10, -1)) | |
288 endfunc | 328 endfunc |
289 | 329 |
290 " Test for the :argedit command | 330 " Test for the :argedit command |
291 func Test_argedit() | 331 func Test_argedit() |
292 call Reset_arglist() | 332 call Reset_arglist() |