| " Test for user command counts. |
| |
| func Test_command_count_0() |
| set hidden |
| set noswapfile |
| |
| split DoesNotExistEver |
| let lastbuf = bufnr('$') |
| call setline(1, 'asdf') |
| quit! |
| |
| command! -range -addr=loaded_buffers RangeLoadedBuffers :let lines = [<line1>, <line2>] |
| command! -range=% -addr=loaded_buffers RangeLoadedBuffersAll :let lines = [<line1>, <line2>] |
| command! -range -addr=buffers RangeBuffers :let lines = [<line1>, <line2>] |
| command! -range=% -addr=buffers RangeBuffersAll :let lines = [<line1>, <line2>] |
| |
| .,$RangeLoadedBuffers |
| call assert_equal([1, 1], lines) |
| %RangeLoadedBuffers |
| call assert_equal([1, 1], lines) |
| RangeLoadedBuffersAll |
| call assert_equal([1, 1], lines) |
| .,$RangeBuffers |
| call assert_equal([1, lastbuf], lines) |
| %RangeBuffers |
| call assert_equal([1, lastbuf], lines) |
| RangeBuffersAll |
| call assert_equal([1, lastbuf], lines) |
| |
| delcommand RangeLoadedBuffers |
| delcommand RangeLoadedBuffersAll |
| delcommand RangeBuffers |
| delcommand RangeBuffersAll |
| |
| set hidden& |
| set swapfile& |
| endfunc |
| |
| func Test_command_count_1() |
| silent! %argd |
| arga a b c d e |
| argdo echo "loading buffers" |
| argu 3 |
| command! -range -addr=arguments RangeArguments :let lines = [<line1>, <line2>] |
| command! -range=% -addr=arguments RangeArgumentsAll :let lines = [<line1>, <line2>] |
| .-,$-RangeArguments |
| call assert_equal([2, 4], lines) |
| %RangeArguments |
| call assert_equal([1, 5], lines) |
| RangeArgumentsAll |
| call assert_equal([1, 5], lines) |
| N |
| .RangeArguments |
| call assert_equal([2, 2], lines) |
| delcommand RangeArguments |
| delcommand RangeArgumentsAll |
| |
| split|split|split|split |
| 3wincmd w |
| command! -range -addr=windows RangeWindows :let lines = [<line1>, <line2>] |
| .,$RangeWindows |
| call assert_equal([3, 5], lines) |
| %RangeWindows |
| call assert_equal([1, 5], lines) |
| delcommand RangeWindows |
| |
| command! -range=% -addr=windows RangeWindowsAll :let lines = [<line1>, <line2>] |
| RangeWindowsAll |
| call assert_equal([1, 5], lines) |
| delcommand RangeWindowsAll |
| only |
| blast|bd |
| |
| tabe|tabe|tabe|tabe |
| normal 2gt |
| command! -range -addr=tabs RangeTabs :let lines = [<line1>, <line2>] |
| .,$RangeTabs |
| call assert_equal([2, 5], lines) |
| %RangeTabs |
| call assert_equal([1, 5], lines) |
| delcommand RangeTabs |
| |
| command! -range=% -addr=tabs RangeTabsAll :let lines = [<line1>, <line2>] |
| RangeTabsAll |
| call assert_equal([1, 5], lines) |
| delcommand RangeTabsAll |
| 1tabonly |
| |
| s/\n/\r\r\r\r\r/ |
| 2ma< |
| $-ma> |
| command! -range=% RangeLines :let lines = [<line1>, <line2>] |
| '<,'>RangeLines |
| call assert_equal([2, 5], lines) |
| delcommand RangeLines |
| |
| command! -range=% -buffer LocalRangeLines :let lines = [<line1>, <line2>] |
| '<,'>LocalRangeLines |
| call assert_equal([2, 5], lines) |
| delcommand LocalRangeLines |
| endfunc |
| |
| func Test_command_count_2() |
| silent! %argd |
| arga a b c d |
| call assert_fails('5argu', 'E16:') |
| |
| $argu |
| call assert_equal('d', expand('%:t')) |
| |
| 1argu |
| call assert_equal('a', expand('%:t')) |
| |
| call assert_fails('300b', 'E16:') |
| |
| split|split|split|split |
| 0close |
| |
| $wincmd w |
| $close |
| call assert_equal(3, winnr()) |
| |
| call assert_fails('$+close', 'E16:') |
| |
| $tabe |
| call assert_equal(2, tabpagenr()) |
| |
| call assert_fails('$+tabe', 'E16:') |
| |
| only! |
| e x |
| 0tabm |
| normal 1gt |
| call assert_equal('x', expand('%:t')) |
| |
| tabonly! |
| only! |
| endfunc |
| |
| func Test_command_count_3() |
| se nohidden |
| e aaa |
| let buf_aaa = bufnr('%') |
| e bbb |
| let buf_bbb = bufnr('%') |
| e ccc |
| let buf_ccc = bufnr('%') |
| buf 1 |
| call assert_equal([1, 1, 1], [buflisted(buf_aaa), buflisted(buf_bbb), buflisted(buf_ccc)]) |
| exe buf_bbb . "," . buf_ccc . "bdelete" |
| call assert_equal([1, 0, 0], [buflisted(buf_aaa), buflisted(buf_bbb), buflisted(buf_ccc)]) |
| exe buf_aaa . "bdelete" |
| call assert_equal([0, 0, 0], [buflisted(buf_aaa), buflisted(buf_bbb), buflisted(buf_ccc)]) |
| endfunc |
| |
| func Test_command_count_4() |
| %argd |
| let bufnr = bufnr('$') + 1 |
| arga aa bb cc dd ee ff |
| 3argu |
| let args = [] |
| .,$-argdo call add(args, expand('%')) |
| call assert_equal(['cc', 'dd', 'ee'], args) |
| |
| " create windows to get 5 |
| split|split|split|split |
| 2wincmd w |
| let windows = [] |
| .,$-windo call add(windows, winnr()) |
| call assert_equal([2, 3, 4], windows) |
| only! |
| |
| exe bufnr . 'buf' |
| let buffers = [] |
| .,$-bufdo call add(buffers, bufnr('%')) |
| call assert_equal([bufnr, bufnr + 1, bufnr + 2, bufnr + 3, bufnr + 4], buffers) |
| |
| exe (bufnr + 3) . 'bdel' |
| let buffers = [] |
| exe (bufnr + 2) . ',' . (bufnr + 5) . "bufdo call add(buffers, bufnr('%'))" |
| call assert_equal([bufnr + 2, bufnr + 4, bufnr + 5], buffers) |
| |
| " create tabpages to get 5 |
| tabe|tabe|tabe|tabe |
| normal! 2gt |
| let tabpages = [] |
| .,$-tabdo call add(tabpages, tabpagenr()) |
| call assert_equal([2, 3, 4], tabpages) |
| tabonly! |
| bwipe! |
| endfunc |