mirror of
https://github.com/neovim/neovim.git
synced 2025-12-16 03:15:39 +00:00
vim-patch:7.4.1123
Problem: Using ":argadd" when there are no arguments results in the second
argument to be the current one. (Yegappan Lakshmanan)
Solution: Correct the w_arg_idx value.
a24f0a550f
This commit is contained in:
@@ -8,7 +8,19 @@ local eq, eval = helpers.eq, helpers.eval
|
||||
describe('argument list commands', function()
|
||||
before_each(clear)
|
||||
|
||||
it('is working', function()
|
||||
function assert_argc(l)
|
||||
eq(#l, eval('argc()'))
|
||||
for i = 1, #l do
|
||||
eq(l[i], eval('argv(' .. (i - 1) .. ')'))
|
||||
end
|
||||
end
|
||||
|
||||
function init_abc()
|
||||
execute('args a b c')
|
||||
execute('next')
|
||||
end
|
||||
|
||||
it('test that argidx() works', function()
|
||||
execute('args a b c')
|
||||
execute('last')
|
||||
eq(2, eval('argidx()'))
|
||||
@@ -28,4 +40,42 @@ describe('argument list commands', function()
|
||||
execute('1argdelete')
|
||||
eq(0, eval('argidx()'))
|
||||
end)
|
||||
|
||||
it('test that argadd() works', function()
|
||||
execute('%argdelete')
|
||||
execute('argadd a b c')
|
||||
eq(0, eval('argidx()'))
|
||||
|
||||
execute('%argdelete')
|
||||
execute('argadd a')
|
||||
eq(0, eval('argidx()'))
|
||||
execute('argadd b c d')
|
||||
eq(0, eval('argidx()'))
|
||||
|
||||
init_abc()
|
||||
execute('argadd x')
|
||||
assert_argc({'a', 'b', 'x', 'c'})
|
||||
eq(1, eval('argidx()'))
|
||||
|
||||
init_abc()
|
||||
execute('0argadd x')
|
||||
assert_argc({'x', 'a', 'b', 'c'})
|
||||
eq(2, eval('argidx()'))
|
||||
|
||||
init_abc()
|
||||
execute('1argadd x')
|
||||
assert_argc({'a', 'x', 'b', 'c'})
|
||||
eq(2, eval('argidx()'))
|
||||
|
||||
init_abc()
|
||||
execute('$argadd x')
|
||||
assert_argc({'a', 'b', 'c', 'x'})
|
||||
eq(1, eval('argidx()'))
|
||||
|
||||
init_abc()
|
||||
execute('$argadd x')
|
||||
execute('+2argadd y')
|
||||
assert_argc({'a', 'b', 'c', 'x', 'y'})
|
||||
eq(1, eval('argidx()'))
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user