diff options
author | Lucas Hoffmann <l-m-h@web.de> | 2015-06-11 12:33:09 +0200 |
---|---|---|
committer | Lucas Hoffmann <l-m-h@web.de> | 2016-02-04 19:20:59 +0100 |
commit | 153fe65c01a572fdc29937fc8d5d15addeb45ed3 (patch) | |
tree | 1e9a6996ac17876b0790ad5819e9af56ef1f3606 /test/functional/legacy/command_count_spec.lua | |
parent | add02b675d4e974a971d4403e1e2ad20a7f78938 (diff) | |
download | rneovim-153fe65c01a572fdc29937fc8d5d15addeb45ed3.tar.gz rneovim-153fe65c01a572fdc29937fc8d5d15addeb45ed3.tar.bz2 rneovim-153fe65c01a572fdc29937fc8d5d15addeb45ed3.zip |
tests: Migrate legacy test command_count.
Diffstat (limited to 'test/functional/legacy/command_count_spec.lua')
-rw-r--r-- | test/functional/legacy/command_count_spec.lua | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/test/functional/legacy/command_count_spec.lua b/test/functional/legacy/command_count_spec.lua new file mode 100644 index 0000000000..49bb3acb61 --- /dev/null +++ b/test/functional/legacy/command_count_spec.lua @@ -0,0 +1,196 @@ +-- Test for user command counts + +local helpers = require('test.functional.helpers') +local source = helpers.source +local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect + +describe('command_count', function() + setup(clear) + teardown(function() + os.remove('test.out') + end) + + it('is working', function() + execute('lang C') + execute('let g:lines = []') + execute([[com -range=% RangeLines :call add(g:lines, 'RangeLines '.<line1>.' '.<line2>)]]) + execute([[com -range -addr=arguments RangeArguments :call add(g:lines, 'RangeArguments '.<line1>.' '.<line2>)]]) + execute([[com -range=% -addr=arguments RangeArgumentsAll :call add(g:lines, 'RangeArgumentsAll '.<line1>.' '.<line2>)]]) + execute([[com -range -addr=loaded_buffers RangeLoadedBuffers :call add(g:lines, 'RangeLoadedBuffers '.<line1>.' '.<line2>)]]) + execute([[com -range=% -addr=loaded_buffers RangeLoadedBuffersAll :call add(g:lines, 'RangeLoadedBuffersAll '.<line1>.' '.<line2>)]]) + execute([[com -range -addr=buffers RangeBuffers :call add(g:lines, 'RangeBuffers '.<line1>.' '.<line2>)]]) + execute([[com -range=% -addr=buffers RangeBuffersAll :call add(g:lines, 'RangeBuffersAll '.<line1>.' '.<line2>)]]) + execute([[com -range -addr=windows RangeWindows :call add(g:lines, 'RangeWindows '.<line1>.' '.<line2>)]]) + execute([[com -range=% -addr=windows RangeWindowsAll :call add(g:lines, 'RangeWindowsAll '.<line1>.' '.<line2>)]]) + execute([[com -range -addr=tabs RangeTabs :call add(g:lines, 'RangeTabs '.<line1>.' '.<line2>)]]) + execute([[com -range=% -addr=tabs RangeTabsAll :call add(g:lines, 'RangeTabsAll '.<line1>.' '.<line2>)]]) + execute('set hidden') + execute('arga a b c d') + execute('argdo echo "loading buffers"') + execute('argu 3') + execute('.-,$-RangeArguments') + execute('%RangeArguments') + execute('RangeArgumentsAll') + execute('N') + execute('.RangeArguments') + execute('split|split|split|split') + execute('3wincmd w') + execute('.,$RangeWindows') + execute('%RangeWindows') + execute('RangeWindowsAll') + execute('only') + execute('blast|bd') + execute('.,$RangeLoadedBuffers') + execute('%RangeLoadedBuffers') + execute('RangeLoadedBuffersAll') + execute('.,$RangeBuffers') + execute('%RangeBuffers') + execute('RangeBuffersAll') + execute('tabe|tabe|tabe|tabe') + execute('normal 2gt') + execute('.,$RangeTabs') + execute('%RangeTabs') + execute('RangeTabsAll') + execute('1tabonly') + execute([[s/\n/\r\r\r\r\r/]]) + execute('2ma<') + execute('$-ma>') + execute([['<,'>RangeLines]]) + execute([[com -range=% -buffer LocalRangeLines :call add(g:lines, 'LocalRangeLines '.<line1>.' '.<line2>)]]) + execute([['<,'>LocalRangeLines]]) + execute('b1') + execute([[call add(g:lines, '')]]) + execute('%argd') + execute('arga a b c d') + execute([[let v:errmsg = '']]) + execute('5argu') + execute([[call add(g:lines, '5argu ' . v:errmsg)]]) + execute('$argu') + execute([[call add(g:lines, '4argu ' . expand('%:t'))]]) + execute([[let v:errmsg = '']]) + execute('1argu') + execute([[call add(g:lines, '1argu ' . expand('%:t'))]]) + execute([[let v:errmsg = '']]) + execute('100b') + execute([[call add(g:lines, '100b ' . v:errmsg)]]) + execute('split|split|split|split') + execute([[let v:errmsg = '']]) + execute('0close') + execute([[call add(g:lines, '0close ' . v:errmsg)]]) + execute('$wincmd w') + execute('$close') + execute([[call add(g:lines, '$close ' . winnr())]]) + execute([[let v:errmsg = '']]) + execute('$+close') + execute([[call add(g:lines, '$+close ' . v:errmsg)]]) + execute('$tabe') + execute([[call add(g:lines, '$tabe ' . tabpagenr())]]) + execute([[let v:errmsg = '']]) + execute('$+tabe') + execute([[call add(g:lines, '$+tabe ' . v:errmsg)]]) + execute('only!') + execute('e x') + execute('0tabm') + execute('normal 1gt') + execute([[call add(g:lines, '0tabm ' . expand('%:t'))]]) + execute('tabonly!') + execute('only!') + execute('e! test.out') + execute('call append(0, g:lines)') + execute('unlet g:lines') + execute('w|bd') + execute('b1') + execute('let g:lines = []') + execute('func BufStatus()') + execute([[ call add(g:lines, 'aaa: ' . buflisted(g:buf_aaa) . ' bbb: ' . buflisted(g:buf_bbb) . ' ccc: ' . buflisted(g:buf_ccc))]]) + execute('endfunc') + execute('se nohidden') + execute('e aaa') + execute([[let buf_aaa = bufnr('%')]]) + execute('e bbb') + execute([[let buf_bbb = bufnr('%')]]) + execute('e ccc') + execute([[let buf_ccc = bufnr('%')]]) + execute('b1') + execute('call BufStatus()') + execute('exe buf_bbb . "," . buf_ccc . "bdelete"') + execute('call BufStatus()') + execute('exe buf_aaa . "bdelete"') + execute('call BufStatus()') + execute('e! test.out') + execute([[call append('$', g:lines)]]) + execute('unlet g:lines') + execute('delfunc BufStatus') + execute('w|bd') + execute('b1') + execute('se hidden') + execute('only!') + execute('let g:lines = []') + execute('%argd') + execute('arga a b c d e f') + execute('3argu') + execute([[let args = '']]) + execute([[.,$-argdo let args .= ' '.expand('%')]]) + execute([[call add(g:lines, 'argdo:' . args)]]) + execute('split|split|split|split') + execute('2wincmd w') + execute([[let windows = '']]) + execute([[.,$-windo let windows .= ' '.winnr()]]) + execute([[call add(g:lines, 'windo:'. windows)]]) + execute('b2') + execute([[let buffers = '']]) + execute([[.,$-bufdo let buffers .= ' '.bufnr('%')]]) + execute([[call add(g:lines, 'bufdo:' . buffers)]]) + execute([[let buffers = '']]) + execute([[3,7bufdo let buffers .= ' '.bufnr('%')]]) + execute([[call add(g:lines, 'bufdo:' . buffers)]]) + execute('tabe|tabe|tabe|tabe') + execute('normal! 2gt') + execute([[let tabpages = '']]) + execute([[.,$-tabdo let tabpages .= ' '.tabpagenr()]]) + execute([[call add(g:lines, 'tabdo:' . tabpages)]]) + execute('e! test.out') + execute([[call append('$', g:lines)]]) + + -- Assert buffer contents. + expect([=[ + RangeArguments 2 4 + RangeArguments 1 5 + RangeArgumentsAll 1 5 + RangeArguments 2 2 + RangeWindows 3 5 + RangeWindows 1 5 + RangeWindowsAll 1 5 + RangeLoadedBuffers 2 4 + RangeLoadedBuffers 1 4 + RangeLoadedBuffersAll 1 4 + RangeBuffers 2 5 + RangeBuffers 1 5 + RangeBuffersAll 1 5 + RangeTabs 2 5 + RangeTabs 1 5 + RangeTabsAll 1 5 + RangeLines 2 5 + LocalRangeLines 2 5 + + 5argu E16: Invalid range + 4argu d + 1argu a + 100b E16: Invalid range + 0close + $close 3 + $+close E16: Invalid range + $tabe 2 + $+tabe E16: Invalid range + 0tabm x + + aaa: 1 bbb: 1 ccc: 1 + aaa: 1 bbb: 0 ccc: 0 + aaa: 0 bbb: 0 ccc: 0 + argdo: c d e + windo: 2 3 4 + bufdo: 2 3 4 5 6 7 8 9 10 15 + bufdo: 3 4 5 6 7 + tabdo: 2 3 4]=]) + end) +end) |