mirror of
https://github.com/vim/vim.git
synced 2025-07-24 10:45:12 -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:
parent
52992feafe
commit
d5e3cc11d3
@ -227,6 +227,7 @@ NEW_TESTS = \
|
||||
test_searchpos \
|
||||
test_set \
|
||||
test_sha256 \
|
||||
test_shift \
|
||||
test_shortpathname \
|
||||
test_signals \
|
||||
test_signs \
|
||||
|
@ -52,6 +52,7 @@ source test_rename.vim
|
||||
source test_scroll_opt.vim
|
||||
source test_searchpos.vim
|
||||
source test_set.vim
|
||||
source test_shift.vim
|
||||
source test_sort.vim
|
||||
source test_sha256.vim
|
||||
source test_statusline.vim
|
||||
|
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
|
@ -769,6 +769,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1841,
|
||||
/**/
|
||||
1840,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user