diff src/testdir/test_vim9_expr.vim @ 21251:d1215fcdbca8 v8.2.1176

patch 8.2.1176: Vim9: not enough type checking in Vim9 script Commit: https://github.com/vim/vim/commit/543e6f3467f208930a5d7fadb82133334bf31356 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jul 10 22:45:38 2020 +0200 patch 8.2.1176: Vim9: not enough type checking in Vim9 script Problem: Vim9: not enough type checking in Vim9 script. Solution: Use same type checking as in a :def function.
author Bram Moolenaar <Bram@vim.org>
date Fri, 10 Jul 2020 23:00:03 +0200
parents 4edc60c9c0aa
children 71bd2f9adb61
line wrap: on
line diff
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -557,7 +557,7 @@ def RetVoid()
 enddef
 
 def Test_expr4_vimscript()
-  " only checks line continuation
+  " check line continuation
   let lines =<< trim END
       vim9script
       let var = 0
@@ -599,6 +599,25 @@ def Test_expr4_vimscript()
       assert_equal(1, var)
   END
   CheckScriptSuccess(lines)
+
+  " spot check mismatching types
+  lines =<< trim END
+      vim9script
+      echo '' == 0
+  END
+  CheckScriptFailure(lines, 'E1072:')
+
+  lines =<< trim END
+      vim9script
+      echo v:true > v:false
+  END
+  CheckScriptFailure(lines, 'Cannot compare bool with bool')
+
+  lines =<< trim END
+      vim9script
+      echo 123 is 123
+  END
+  CheckScriptFailure(lines, 'Cannot use "is" with number')
 enddef
 
 func Test_expr4_fails()