diff options
Diffstat (limited to 'test/functional/legacy/argument_count_spec.lua')
-rw-r--r-- | test/functional/legacy/argument_count_spec.lua | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/functional/legacy/argument_count_spec.lua b/test/functional/legacy/argument_count_spec.lua new file mode 100644 index 0000000000..182cce9475 --- /dev/null +++ b/test/functional/legacy/argument_count_spec.lua @@ -0,0 +1,47 @@ +-- Tests for :[count]argument! and :[count]argdelete + +local helpers = require('test.functional.helpers') +local clear, execute, eq, eval = + helpers.clear, helpers.execute, helpers.eq, helpers.eval + +describe('argument_count', function() + setup(clear) + + it('is working', function() + execute('%argd') + execute('argadd a b c d') + eq({'a', 'b', 'c', 'd'}, eval('argv()')) + execute('set hidden') + execute('let buffers = []') + execute('augroup TEST') + execute([[au BufEnter * call add(buffers, expand('%:t'))]]) + execute('augroup END') + execute('$argu') + execute('$-argu') + execute('-argu') + execute('1argu') + execute('+2argu') + execute('augroup TEST') + execute('au!') + execute('augroup END') + eq({'d', 'c', 'b', 'a', 'c'}, eval('buffers')) + execute('.argd') + eq({'a', 'b', 'd'}, eval('argv()')) + execute('-argd') + eq({'a', 'd'}, eval('argv()')) + execute('$argd') + eq({'a'}, eval('argv()')) + execute('1arga c') + execute('1arga b') + execute('$argu') + execute('$arga x') + eq({'a', 'b', 'c', 'x'}, eval('argv()')) + execute('0arga Y') + eq({'Y', 'a', 'b', 'c', 'x'}, eval('argv()')) + execute('%argd') + eq({}, eval('argv()')) + execute('arga a b c d e f') + execute('2,$-argd') + eq({'a', 'f'}, eval('argv()')) + end) +end) |