neovim/test/old/testdir/test_shift.vim
dundargoc af23d17388
test: move oldtests to test directory (#22536)
The new oldtest directory is in test/old/testdir. The reason for this is
that many tests have hardcoded the parent directory name to be
'testdir'.
2023-03-07 11:13:04 +08:00

118 lines
2.4 KiB
VimL

" 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('execute "2,1>"', 'E493:')
" call assert_fails('2,1<', 'E493:')
call assert_fails('execute "2,1<"', 'E493:')
endfunc
" vim: shiftwidth=2 sts=2 expandtab