From 76b4b1977ba3f3a1f630468a2ce89f47f2cedec4 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 20 Jul 2022 08:16:02 +0800 Subject: vim-patch:8.2.1799: some Normal mode commands not fully tested Problem: Some Normal mode commands not fully tested. Solution: Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#7073) https://github.com/vim/vim/commit/d1ad99b65470d3e754f6a0588a6b0dc2214a1eab Cherry-pick test_registers.vim change from patch 8.2.0644. --- src/nvim/testdir/test_normal.vim | 41 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) (limited to 'src/nvim/testdir/test_normal.vim') diff --git a/src/nvim/testdir/test_normal.vim b/src/nvim/testdir/test_normal.vim index 1202f58d8d..f125c860d5 100644 --- a/src/nvim/testdir/test_normal.vim +++ b/src/nvim/testdir/test_normal.vim @@ -492,6 +492,18 @@ func Test_normal11_showcmd() call assert_equal(3, line('$')) exe "norm! 0d3\2l" call assert_equal('obar2foobar3', getline('.')) + " test for the visual block size displayed in the status line + call setline(1, ['aaaaa', 'bbbbb', 'ccccc']) + call feedkeys("ggl\lljj", 'xt') + redraw! + call assert_match('3x3$', Screenline(&lines)) + call feedkeys("\", 'xt') + " test for visually selecting a multi-byte character + call setline(1, ["\U2206"]) + call feedkeys("ggv", 'xt') + redraw! + call assert_match('1-3$', Screenline(&lines)) + call feedkeys("v", 'xt') bw! endfunc @@ -897,6 +909,18 @@ func Test_vert_scroll_cmds() exe "normal \\" call assert_equal(h + 1, line('w$')) + " Test for CTRL-Y from the first line and CTRL-E from the last line + %d + set scrolloff=2 + call setline(1, range(1, 4)) + exe "normal gg\" + call assert_equal(1, line('w0')) + call assert_equal(1, line('.')) + exe "normal G4\\" + call assert_equal(4, line('w$')) + call assert_equal(4, line('.')) + set scrolloff& + " Using and in an empty buffer should beep %d call assert_beeps('exe "normal \"') @@ -945,6 +969,18 @@ func Test_vert_scroll_cmds() exe "normal \" call assert_equal(50, line('w0')) + " Test for . Page down. + %d + call setline(1, range(1, 100)) + call feedkeys("\", 'xt') + call assert_equal(14, line('w0')) + call assert_equal(28, line('w$')) + + " Test for . Page up. + call feedkeys("\", 'xt') + call assert_equal(1, line('w0')) + call assert_equal(15, line('w$')) + set foldenable& close! endfunc @@ -1953,7 +1989,7 @@ func Test_normal_section() close! endfunc -" Test for ~ command +" Test for changing case using u, U, gu, gU and ~ (tilde) commands func Test_normal30_changecase() new call append(0, 'This is a simple test: äüöß') @@ -1973,6 +2009,9 @@ func Test_normal30_changecase() call assert_equal('this is a SIMPLE TEST: ÄÜÖSS', getline('.')) norm! V~ call assert_equal('THIS IS A simple test: äüöss', getline('.')) + call assert_beeps('norm! c~') + %d + call assert_beeps('norm! ~') " Test for changing case across lines using 'whichwrap' call setline(1, ['aaaaaa', 'aaaaaa']) -- cgit