diff src/testdir/test_smartindent.vim @ 19603:6d3c683466f4 v8.2.0358

patch 8.2.0358: insufficient testing for indent.c Commit: https://github.com/vim/vim/commit/bd7206e02c957f0619e68e1628e2a3e91dd41e06 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Mar 6 20:36:04 2020 +0100 patch 8.2.0358: insufficient testing for indent.c Problem: Insufficient testing for indent.c. Solution: Add indent tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/5736)
author Bram Moolenaar <Bram@vim.org>
date Fri, 06 Mar 2020 20:45:04 +0100
parents 63b02fcf1361
children 12518b40c161
line wrap: on
line diff
--- a/src/testdir/test_smartindent.vim
+++ b/src/testdir/test_smartindent.vim
@@ -38,4 +38,27 @@ func Test_smartindent_has_no_effect()
   bwipe!
 endfunc
 
+" Test for inserting '{' and '} with smartindent
+func Test_smartindent_braces()
+  new
+  set smartindent shiftwidth=4
+  call setline(1, ['    if (a)', "\tif (b)", "\t    return 1"])
+  normal 2ggO{
+  normal 3ggA {
+  normal 4ggo}
+  normal o}
+  normal 4ggO#define FOO 1
+  call assert_equal([
+        \ '    if (a)',
+        \ '    {',
+        \ "\tif (b) {",
+        \ '#define FOO 1',
+        \ "\t    return 1",
+        \ "\t}",
+        \ '    }'
+        \ ], getline(1, '$'))
+  set si& sw& ai&
+  close!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab