0
0
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:
Bram Moolenaar 2019-08-12 14:38:02 +02:00
parent 52992feafe
commit d5e3cc11d3
4 changed files with 117 additions and 0 deletions

View File

@ -227,6 +227,7 @@ NEW_TESTS = \
test_searchpos \
test_set \
test_sha256 \
test_shift \
test_shortpathname \
test_signals \
test_signs \

View File

@ -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
View 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

View File

@ -769,6 +769,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1841,
/**/
1840,
/**/