diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2015-04-29 02:11:30 -0400 |
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2015-04-29 02:11:30 -0400 |
| commit | 45b617afada9304cb265aad02645b22d76dfc2d5 (patch) | |
| tree | 7f28a768d2c88e646f1bc4e1b9e5b1ea604cce21 /src/nvim/testdir | |
| parent | 6a8862ded4d6f1693ac591ac8e47d1acbd044c49 (diff) | |
| parent | b46746b93ef298688cba3d8fbbcdae13e069935c (diff) | |
| download | rneovim-45b617afada9304cb265aad02645b22d76dfc2d5.tar.gz rneovim-45b617afada9304cb265aad02645b22d76dfc2d5.tar.bz2 rneovim-45b617afada9304cb265aad02645b22d76dfc2d5.zip | |
Merge pull request #2041 from fmoralesc/command-ranges
Command ranges (was PR #1793)
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/Makefile | 6 | ||||
| -rw-r--r-- | src/nvim/testdir/test62.in | 2 | ||||
| -rw-r--r-- | src/nvim/testdir/test_argument_0count.in | 28 | ||||
| -rw-r--r-- | src/nvim/testdir/test_argument_0count.ok | 5 | ||||
| -rw-r--r-- | src/nvim/testdir/test_argument_count.in | 46 | ||||
| -rw-r--r-- | src/nvim/testdir/test_argument_count.ok | 13 | ||||
| -rw-r--r-- | src/nvim/testdir/test_close_count.in | 156 | ||||
| -rw-r--r-- | src/nvim/testdir/test_close_count.ok | 23 | ||||
| -rw-r--r-- | src/nvim/testdir/test_command_count.in | 157 | ||||
| -rw-r--r-- | src/nvim/testdir/test_command_count.ok | 38 |
10 files changed, 472 insertions, 2 deletions
diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile index 0a7c16e2cb..2dedc3db12 100644 --- a/src/nvim/testdir/Makefile +++ b/src/nvim/testdir/Makefile @@ -29,7 +29,11 @@ SCRIPTS := test_autoformat_join.out \ test86.out test87.out test88.out \ test96.out \ test_listlbr.out \ - test_breakindent.out + test_breakindent.out \ + test_argument_count.out \ + test_close_count.out \ + test_command_count.out \ + test_argument_0count.out SCRIPTS_GUI := test16.out diff --git a/src/nvim/testdir/test62.in b/src/nvim/testdir/test62.in index 93d968b33e..c201fe7137 100644 --- a/src/nvim/testdir/test62.in +++ b/src/nvim/testdir/test62.in @@ -13,7 +13,7 @@ STARTTEST :" Open three tab pages and use ":tabdo" :0tabnew :1tabnew -:888tabnew +:$tabnew :tabdo call append(line('$'), 'this is tab page ' . tabpagenr()) :tabclose! 2 :tabrewind diff --git a/src/nvim/testdir/test_argument_0count.in b/src/nvim/testdir/test_argument_0count.in new file mode 100644 index 0000000000..88317fa1fc --- /dev/null +++ b/src/nvim/testdir/test_argument_0count.in @@ -0,0 +1,28 @@ +Tests for :0argadd and :0argedit vim: set ft=vim : + +STARTTEST +:so small.vim +:let arglists = [] +:%argd +:arga a b c d +:2argu +:0arga added +:call add(arglists, argv()) +:2argu +:arga third +:call add(arglists, argv()) +:%argd +:arga a b c d +:2argu +:0arge edited +:call add(arglists, argv()) +:2argu +:arga third +:call add(arglists, argv()) +:e! test.out +:call append(0, map(copy(arglists), 'join(v:val, " ")')) +:w +:qa! +ENDTEST + + diff --git a/src/nvim/testdir/test_argument_0count.ok b/src/nvim/testdir/test_argument_0count.ok new file mode 100644 index 0000000000..ee5daea812 --- /dev/null +++ b/src/nvim/testdir/test_argument_0count.ok @@ -0,0 +1,5 @@ +added a b c d +added a third b c d +edited a b c d +edited a third b c d + diff --git a/src/nvim/testdir/test_argument_count.in b/src/nvim/testdir/test_argument_count.in new file mode 100644 index 0000000000..af91f38375 --- /dev/null +++ b/src/nvim/testdir/test_argument_count.in @@ -0,0 +1,46 @@ +Tests for :[count]argument! and :[count]argdelete vim: set ft=vim : + +STARTTEST +:%argd +:argadd a b c d +:set hidden +:let buffers = [] +:augroup TEST +:au BufEnter * call add(buffers, expand('%:t')) +:augroup END +:$argu +:$-argu +:-argu +:1argu +:+2argu +:augroup TEST +:au! +:augroup END +:let arglists = [] +:.argd +:call add(arglists, argv()) +:-argd +:call add(arglists, argv()) +:$argd +:call add(arglists, argv()) +:1arga c +:1arga b +:$argu +:$arga x +:call add(arglists, argv()) +:0arga Y +:call add(arglists, argv()) +:%argd +:call add(arglists, argv()) +:arga a b c d e f +:2,$-argd +:call add(arglists, argv()) +:e! test.out +:call append(0, buffers) +:let lnr = line('$') +:call append(lnr, map(copy(arglists), 'join(v:val, " ")')) +:w +:qa! +ENDTEST + + diff --git a/src/nvim/testdir/test_argument_count.ok b/src/nvim/testdir/test_argument_count.ok new file mode 100644 index 0000000000..f51562620d --- /dev/null +++ b/src/nvim/testdir/test_argument_count.ok @@ -0,0 +1,13 @@ +d +c +b +a +c + +a b d +a d +a +a b c x +Y a b c x + +a f diff --git a/src/nvim/testdir/test_close_count.in b/src/nvim/testdir/test_close_count.in new file mode 100644 index 0000000000..58dfb425ce --- /dev/null +++ b/src/nvim/testdir/test_close_count.in @@ -0,0 +1,156 @@ +Tests for :[count]close! and :[count]hide vim: set ft=vim : + +STARTTEST +:let tests = [] +:so tiny.vim +:for i in range(5) +:new +:endfor +:4wincmd w +:close! +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:1close! +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:$close! +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:1wincmd w +:2close! +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:1wincmd w +:new +:new +:2wincmd w +:-1close! +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:2wincmd w +:+1close! +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:e! test.out +:call append(0, map(copy(tests), 'join(v:val, " ")')) +:w +:only! +:b1 +ENDTEST + +STARTTEST +:let tests = [] +:so tiny.vim +:for i in range(5) +:new +:endfor +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:4wincmd w +:.hide +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:1hide +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:$hide +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:1wincmd w +:2hide +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:1wincmd w +:new +:new +:3wincmd w +:-hide +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:2wincmd w +:+hide +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:e! test.out +:call append(line('$'), map(copy(tests), 'join(v:val, " ")')) +Go +:w +:only! +:b1 +ENDTEST + +STARTTEST +:let tests = [] +:so tiny.vim +:set hidden +:for i in range(5) +:new +:endfor +:1wincmd w +:$ hide +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:$-1 close! +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:1wincmd w +:.+close! +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:e! test.out +:call append(line('$'), map(copy(tests), 'join(v:val, " ")')) +Go +:w +:only! +:b1 +ENDTEST + +STARTTEST +:let tests = [] +:so tiny.vim +:set hidden +:for i in range(5) +:new +:endfor +:4wincmd w +c +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +1c +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +9c +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:1wincmd w +2c +:let buffers = [] +:windo call add(buffers, bufnr('%')) +:call add(tests, buffers) +:only! +:e! test.out +:call append(line('$'), map(copy(tests), 'join(v:val, " ")')) +:w +:qa! +ENDTEST + + diff --git a/src/nvim/testdir/test_close_count.ok b/src/nvim/testdir/test_close_count.ok new file mode 100644 index 0000000000..1cee870487 --- /dev/null +++ b/src/nvim/testdir/test_close_count.ok @@ -0,0 +1,23 @@ +6 5 4 2 1 +5 4 2 1 +5 4 2 +5 2 +7 5 2 +7 5 + +13 12 11 10 9 1 +13 12 11 9 1 +12 11 9 1 +12 11 9 +12 9 +15 12 9 +15 12 + +20 19 18 17 16 +20 19 18 16 +20 18 16 + +25 24 23 21 1 +24 23 21 1 +24 23 21 +24 21 diff --git a/src/nvim/testdir/test_command_count.in b/src/nvim/testdir/test_command_count.in new file mode 100644 index 0000000000..dd3c108360 --- /dev/null +++ b/src/nvim/testdir/test_command_count.in @@ -0,0 +1,157 @@ +Test for user command counts vim: set ft=vim : + +STARTTEST +:so tiny.vim +:lang C +:let g:lines = [] +:com -range=% RangeLines :call add(g:lines, 'RangeLines '.<line1>.' '.<line2>) +:com -range -addr=arguments RangeArguments :call add(g:lines, 'RangeArguments '.<line1>.' '.<line2>) +:com -range=% -addr=arguments RangeArgumentsAll :call add(g:lines, 'RangeArgumentsAll '.<line1>.' '.<line2>) +:com -range -addr=loaded_buffers RangeLoadedBuffers :call add(g:lines, 'RangeLoadedBuffers '.<line1>.' '.<line2>) +:com -range=% -addr=loaded_buffers RangeLoadedBuffersAll :call add(g:lines, 'RangeLoadedBuffersAll '.<line1>.' '.<line2>) +:com -range -addr=buffers RangeBuffers :call add(g:lines, 'RangeBuffers '.<line1>.' '.<line2>) +:com -range=% -addr=buffers RangeBuffersAll :call add(g:lines, 'RangeBuffersAll '.<line1>.' '.<line2>) +:com -range -addr=windows RangeWindows :call add(g:lines, 'RangeWindows '.<line1>.' '.<line2>) +:com -range=% -addr=windows RangeWindowsAll :call add(g:lines, 'RangeWindowsAll '.<line1>.' '.<line2>) +:com -range -addr=tabs RangeTabs :call add(g:lines, 'RangeTabs '.<line1>.' '.<line2>) +:com -range=% -addr=tabs RangeTabsAll :call add(g:lines, 'RangeTabsAll '.<line1>.' '.<line2>) +:set hidden +:arga a b c d +:argdo echo "loading buffers" +:argu 3 +:.-,$-RangeArguments +:%RangeArguments +:RangeArgumentsAll +:N +:.RangeArguments +:split|split|split|split +:3wincmd w +:.,$RangeWindows +:%RangeWindows +:RangeWindowsAll +:only +:blast|bd +:.,$RangeLoadedBuffers +:%RangeLoadedBuffers +:RangeLoadedBuffersAll +:.,$RangeBuffers +:%RangeBuffers +:RangeBuffersAll +:tabe|tabe|tabe|tabe +:normal 2gt +:.,$RangeTabs +:%RangeTabs +:RangeTabsAll +:1tabonly +:s/\n/\r\r\r\r\r/ +:2ma< +:$-ma> +:'<,'>RangeLines +:com -range=% -buffer LocalRangeLines :call add(g:lines, 'LocalRangeLines '.<line1>.' '.<line2>) +:'<,'>LocalRangeLines +:b1 +ENDTEST + +STARTTEST +:call add(g:lines, '') +:%argd +:arga a b c d +:let v:errmsg = '' +:5argu +:call add(g:lines, '5argu ' . v:errmsg) +:$argu +:call add(g:lines, '4argu ' . expand('%:t')) +:let v:errmsg = '' +:1argu +:call add(g:lines, '1argu ' . expand('%:t')) +:let v:errmsg = '' +:100b +:call add(g:lines, '100b ' . v:errmsg) +:split|split|split|split +:let v:errmsg = '' +:0close +:call add(g:lines, '0close ' . v:errmsg) +:$wincmd w +:$close +:call add(g:lines, '$close ' . winnr()) +:let v:errmsg = '' +:$+close +:call add(g:lines, '$+close ' . v:errmsg) +:$tabe +:call add(g:lines, '$tabe ' . tabpagenr()) +:let v:errmsg = '' +:$+tabe +:call add(g:lines, '$+tabe ' . v:errmsg) +:only! +:e x +:0tabm +:normal 1gt +:call add(g:lines, '0tabm ' . expand('%:t')) +:tabonly! +:only! +:e! test.out +:call append(0, g:lines) +:unlet g:lines +:w|bd +:b1 +ENDTEST + +STARTTEST +:let g:lines = [] +:func BufStatus() +: call add(g:lines, 'aaa: ' . buflisted(g:buf_aaa) . ' bbb: ' . buflisted(g:buf_bbb) . ' ccc: ' . buflisted(g:buf_ccc)) +:endfunc +:se nohidden +:e aaa +:let buf_aaa = bufnr('%') +:e bbb +:let buf_bbb = bufnr('%') +:e ccc +:let buf_ccc = bufnr('%') +:b1 +:call BufStatus() +:exe buf_bbb . "," . buf_ccc . "bdelete" +:call BufStatus() +:exe buf_aaa . "bdelete" +:call BufStatus() +:e! test.out +:call append('$', g:lines) +:unlet g:lines +:delfunc BufStatus +:w|bd +:b1 +ENDTEST + +STARTTEST +:se hidden +:only! +:let g:lines = [] +:%argd +:arga a b c d e f +:3argu +:let args = '' +:.,$-argdo let args .= ' '.expand('%') +:call add(g:lines, 'argdo:' . args) +:split|split|split|split +:2wincmd w +:let windows = '' +:.,$-windo let windows .= ' '.winnr() +:call add(g:lines, 'windo:'. windows) +:b2 +:let buffers = '' +:.,$-bufdo let buffers .= ' '.bufnr('%') +:call add(g:lines, 'bufdo:' . buffers) +:let buffers = '' +:3,7bufdo let buffers .= ' '.bufnr('%') +:call add(g:lines, 'bufdo:' . buffers) +:tabe|tabe|tabe|tabe +:normal! 2gt +:let tabpages = '' +:.,$-tabdo let tabpages .= ' '.tabpagenr() +:call add(g:lines, 'tabdo:' . tabpages) +:e! test.out +:call append('$', g:lines) +:w|qa! +ENDTEST + + diff --git a/src/nvim/testdir/test_command_count.ok b/src/nvim/testdir/test_command_count.ok new file mode 100644 index 0000000000..8fdbc7748d --- /dev/null +++ b/src/nvim/testdir/test_command_count.ok @@ -0,0 +1,38 @@ +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 |