From 314f1a7c2168ee7e99e2d2b348146df092341a64 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 13 Jul 2022 13:47:01 +0800 Subject: vim-patch:8.2.0369: various Normal mode commands not fully tested Problem: Various Normal mode commands not fully tested. Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#5751) https://github.com/vim/vim/commit/1671f4488105ee12a6a8558ae351436c26ab55fc Cherry-pick a fix from patch 8.2.3162. Omit test_iminsert.vim as previous patches to that file are N/A, and Nvim doesn't support iminsert=2 either, so that test isn't useful. --- src/nvim/testdir/test_edit.vim | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'src/nvim/testdir/test_edit.vim') diff --git a/src/nvim/testdir/test_edit.vim b/src/nvim/testdir/test_edit.vim index 3ae9163861..ed68bb0f73 100644 --- a/src/nvim/testdir/test_edit.vim +++ b/src/nvim/testdir/test_edit.vim @@ -286,7 +286,7 @@ func Test_edit_11() call cursor(2, 1) call feedkeys("i\int c;\", 'tnix') call cursor(3, 1) - call feedkeys("i/* comment */", 'tnix') + call feedkeys("\/* comment */", 'tnix') call assert_equal(['{', "\int c;", "/* comment */"], getline(1, '$')) " added changed cindentkeys slightly set cindent cinkeys+=*/ @@ -1653,6 +1653,39 @@ func Test_edit_noesckeys() " set esckeys endfunc +" Test for running an invalid ex command in insert mode using CTRL-O +" Note that vim has a hard-coded sleep of 3 seconds. So this test will take +" more than 3 seconds to complete. +func Test_edit_ctrl_o_invalid_cmd() + new + set showmode showcmd + let caught_e492 = 0 + try + call feedkeys("i\:invalid\abc\", "xt") + catch /E492:/ + let caught_e492 = 1 + endtry + call assert_equal(1, caught_e492) + call assert_equal('abc', getline(1)) + set showmode& showcmd& + close! +endfunc + +" Test for inserting text at the beginning of a line +func Test_insert_before_first_nonblank() + throw 'Skipped: Nvim does not support cpoptions flag "H"' + new + call setline(1, ' ') + normal! Ia + call assert_equal(' a', getline(1)) + set cpo+=H + call setline(1, ' ') + normal! Ia + call assert_equal(' a ', getline(1)) + set cpo-=H + close! +endfunc + " Test for editing a directory func Test_edit_is_a_directory() CheckEnglish -- cgit