mirror of
https://github.com/vim/vim.git
synced 2025-10-04 05:25:06 -04:00
patch 8.1.1841: no test for Ex shift commands
Problem: No test for Ex shift commands. Solution: Add a test. (Dominique Pelle, closes #4801)
This commit is contained in:
113
src/testdir/test_shift.vim
Normal file
113
src/testdir/test_shift.vim
Normal file
@@ -0,0 +1,113 @@
|
||||
" 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:')
|
||||
|
||||
call assert_fails('2,1>', 'E493:')
|
||||
call assert_fails('2,1<', 'E493:')
|
||||
endfunc
|
Reference in New Issue
Block a user