diff src/testdir/test_vim9_expr.vim @ 21925:51d591dbb8df v8.2.1512

patch 8.2.1512: failure after trinary expression fails Commit: https://github.com/vim/vim/commit/69e44552c567ff25b363ba0790ad3d43fa0397a7 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 22 22:37:20 2020 +0200 patch 8.2.1512: failure after trinary expression fails Problem: Failure after trinary expression fails. Solution: Restore eval_flags. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/6776)
author Bram Moolenaar <Bram@vim.org>
date Sat, 22 Aug 2020 22:45:03 +0200
parents a211bca98bc3
children 3991a6df522e
line wrap: on
line diff
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -114,6 +114,27 @@ def Test_expr1_vimscript()
       let var = v:true ? 1 :2
   END
   CheckScriptFailure(lines, 'E1004:', 2)
+
+  # check after failure eval_flags is reset
+  lines =<< trim END
+      vim9script
+      try
+        call eval('0 ? 1: 2')
+      catch
+      endtry
+      assert_equal(v:true, eval(string(v:true)))
+  END
+  CheckScriptSuccess(lines)
+
+  lines =<< trim END
+      vim9script
+      try
+        call eval('0 ? 1 :2')
+      catch
+      endtry
+      assert_equal(v:true, eval(string(v:true)))
+  END
+  CheckScriptSuccess(lines)
 enddef
 
 func Test_expr1_fails()