From: Bram Moolenaar Date: Mon, 12 Aug 2019 12:38:02 +0000 (+0200) Subject: patch 8.1.1841: no test for Ex shift commands X-Git-Tag: v8.1.1841 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d5e3cc11d391f3aa80bf66f91001f11a3a145b43;p=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 #4801) --- diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak index 131ba01f0..80cf7068e 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -227,6 +227,7 @@ NEW_TESTS = \ test_searchpos \ test_set \ test_sha256 \ + test_shift \ test_shortpathname \ test_signals \ test_signs \ diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim index a7db66af5..ab1dac49a 100644 --- a/src/testdir/test_alot.vim +++ b/src/testdir/test_alot.vim @@ -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 diff --git a/src/testdir/test_shift.vim b/src/testdir/test_shift.vim new file mode 100644 index 000000000..4ff054fda --- /dev/null +++ b/src/testdir/test_shift.vim @@ -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('', 'E493:') + call assert_fails('2,1<', 'E493:') +endfunc diff --git a/src/version.c b/src/version.c index 8e799264b..5e40a1fa4 100644 --- a/src/version.c +++ b/src/version.c @@ -769,6 +769,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1841, /**/ 1840, /**/