diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-04-07 20:09:51 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-04-07 20:09:51 +0200 |
commit | 395b6bab33e5ed9a0377d7f140e98fd3ab682672 (patch) | |
tree | 0e3189f8a90ed61d1825900d1f6ab80730bdf10e | |
parent | d4863aa99e0527e9505c79cbeafc68a6832200bf (diff) | |
download | vim-git-8.0.0549.tar.gz |
patch 8.0.0549: no test for the 8g8 commandv8.0.0549
Problem: No test for the 8g8 command.
Solution: Add a test. (Dominique Pelle, closes #1615)
-rw-r--r-- | src/testdir/test_normal.vim | 56 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 51 insertions, 7 deletions
diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim index 692249a2d..8fce6e1f4 100644 --- a/src/testdir/test_normal.vim +++ b/src/testdir/test_normal.vim @@ -844,7 +844,7 @@ func! Test_normal18_z_fold() norm! j call assert_equal('52', getline('.')) - " zA on a opened fold when foldenale is not set + " zA on a opened fold when foldenable is not set 50 set nofoldenable norm! zA @@ -906,7 +906,7 @@ func! Test_normal18_z_fold() norm! j call assert_equal('55', getline('.')) - " 2) do not close fold under curser + " 2) do not close fold under cursor 51 set nofoldenable norm! zx @@ -1772,18 +1772,60 @@ fun! Test_normal34_g_cmd3() if !has("multi_byte") return endif + " Test for g8 new - call append(0, 'abcdefghijklmnopqrstuvwxyzäüö') - let a=execute(':norm! 1gg$g8') - call assert_equal('c3 b6 ', a[1:]) + let a=execute(':norm! 1G0g8') + call assert_equal("\nNUL", a) + + call setline(1, 'abcdefghijklmnopqrstuvwxyzäüö') + let a=execute(':norm! 1G$g8') + call assert_equal("\nc3 b6 ", a) + + call setline(1, "a\u0302") + let a=execute(':norm! 1G0g8') + call assert_equal("\n61 + cc 82 ", a) - " Test for gp gP - call append(1, range(1,10)) " clean up bw! endfunc +func Test_normal_8g8() + if !has("multi_byte") + return + endif + new + + " Test 8g8 which finds invalid utf8 at or after the cursor. + + " With invalid byte. + call setline(1, "___\xff___") + norm! 1G08g8g + call assert_equal([0, 1, 4, 0, 1], getcurpos()) + + " With invalid byte before the cursor. + call setline(1, "___\xff___") + norm! 1G$h8g8g + call assert_equal([0, 1, 6, 0, 9], getcurpos()) + + " With truncated sequence. + call setline(1, "___\xE2\x82___") + norm! 1G08g8g + call assert_equal([0, 1, 4, 0, 1], getcurpos()) + + " With overlong sequence. + call setline(1, "___\xF0\x82\x82\xAC___") + norm! 1G08g8g + call assert_equal([0, 1, 4, 0, 1], getcurpos()) + + " With valid utf8. + call setline(1, "café") + norm! 1G08g8 + call assert_equal([0, 1, 1, 0, 1], getcurpos()) + + bw! +endfunc + fun! Test_normal35_g_cmd4() " Test for g< " Cannot capture its output, diff --git a/src/version.c b/src/version.c index e856ba5c0..1ffb6556c 100644 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 549, +/**/ 548, /**/ 547, |