vim-patch:8.1.1841: no test for Ex shift commands

Problem:    No test for Ex shift commands.
Solution:   Add a test. (Dominique Pelle, closes vim/vim#4801)
d5e3cc11d3

Comment out some tests because of Neovim inccomand.
This commit is contained in:
Jan Edmund Lazo 2021-04-10 14:35:19 -04:00
parent d2a9b29e1b
commit 750f2b686b
No known key found for this signature in database
GPG Key ID: 64915E6E9F735B15
2 changed files with 117 additions and 0 deletions

View File

@ -35,6 +35,7 @@ source test_popup.vim
source test_put.vim
source test_rename.vim
source test_scroll_opt.vim
source test_shift.vim
source test_sort.vim
source test_sha256.vim
source test_suspend.vim

View File

@ -0,0 +1,116 @@
" Test shifting lines with :> and :<
source check.vim
func Test_ex_shift_right()
set shiftwidth=2
" shift right current line.
call setline(1, range(1, 5))
2
>
3
>>
call assert_equal(['1',
\ ' 2',
\ ' 3',
\ '4',
\ '5'], getline(1, '$'))
" shift right with range.
call setline(1, range(1, 4))
2,3>>
call assert_equal(['1',
\ ' 2',
\ ' 3',
\ '4',
\ '5'], getline(1, '$'))
" shift right with range and count.
call setline(1, range(1, 4))
2>3
call assert_equal(['1',
\ ' 2',
\ ' 3',
\ ' 4',
\ '5'], getline(1, '$'))
bw!
set shiftwidth&
endfunc
func Test_ex_shift_left()
set shiftwidth=2
call setline(1, range(1, 5))
%>>>
" left shift current line.
2<
3<<
4<<<<<
call assert_equal([' 1',
\ ' 2',
\ ' 3',
\ '4',
\ ' 5'], getline(1, '$'))
" shift right with range.
call setline(1, range(1, 5))
%>>>
2,3<<
call assert_equal([' 1',
\ ' 2',
\ ' 3',
\ ' 4',
\ ' 5'], getline(1, '$'))
" shift right with range and count.
call setline(1, range(1, 5))
%>>>
2<<3
call assert_equal([' 1',
\ ' 2',
\ ' 3',
\ ' 4',
\ ' 5'], getline(1, '$'))
bw!
set shiftwidth&
endfunc
func Test_ex_shift_rightleft()
CheckFeature rightleft
set shiftwidth=2 rightleft
call setline(1, range(1, 4))
2,3<<
call assert_equal(['1',
\ ' 2',
\ ' 3',
\ '4'], getline(1, '$'))
3,4>
call assert_equal(['1',
\ ' 2',
\ ' 3',
\ '4'], getline(1, '$'))
bw!
set rightleft& shiftwidth&
endfunc
func Test_ex_shift_errors()
call assert_fails('><', 'E488:')
call assert_fails('<>', 'E488:')
call assert_fails('>!', 'E477:')
call assert_fails('<!', 'E477:')
throw 'skipped: TODO: '
call assert_fails('2,1>', 'E493:')
call assert_fails('2,1<', 'E493:')
endfunc
" vim: shiftwidth=2 sts=2 expandtab