diff src/testdir/test_cindent.vim @ 12323:4dba3e4f3b01 v8.0.1041

patch 8.0.1041: bogus characters when indenting during visual-block append commit https://github.com/vim/vim/commit/e2e69e48134cbfdedea7802810932f8592705024 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 2 20:30:35 2017 +0200 patch 8.0.1041: bogus characters when indenting during visual-block append Problem: Bogus characters appear when indenting kicks in while doing a visual-block append. Solution: Recompute when indenting is done. (Christian Brabandt)
author Christian Brabandt <cb@256bit.org>
date Sat, 02 Sep 2017 20:45:04 +0200
parents 0066a7e178bc
children 81be817c9d9a
line wrap: on
line diff
--- a/src/testdir/test_cindent.vim
+++ b/src/testdir/test_cindent.vim
@@ -71,7 +71,7 @@ func Test_cino_extern_c()
   bwipe!
 endfunc
 
-func! Test_cindent_rawstring()
+func Test_cindent_rawstring()
   new
   setl cindent
   call feedkeys("i" .
@@ -81,5 +81,25 @@ func! Test_cindent_rawstring()
           \ "statement;\<Esc>", "x")
   call assert_equal("\tstatement;", getline(line('.')))
   bw!
-endfunction
+endfunc
+
+func Test_cindent_expr()
+  new
+  func! MyIndentFunction()
+    return v:lnum == 1 ? shiftwidth() : 0
+  endfunc
+  setl expandtab sw=8 indentkeys+=; indentexpr=MyIndentFunction()
+  call setline(1, ['var_a = something()', 'b = something()'])
+  call cursor(1, 1)
+  call feedkeys("^\<c-v>j$A;\<esc>", 'tnix')
+  call assert_equal(['        var_a = something();', 'b = something();'], getline(1, '$'))
+
+  %d
+  call setline(1, ['                var_a = something()', '                b = something()'])
+  call cursor(1, 1)
+  call feedkeys("^\<c-v>j$A;\<esc>", 'tnix')
+  call assert_equal(['        var_a = something();', '                b = something()'], getline(1, '$'))
+  bw!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab