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()