comparison 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
comparison
equal deleted inserted replaced
21250:21fb2a3ad3ca 21251:d1215fcdbca8
555 def RetVoid() 555 def RetVoid()
556 let x = 1 556 let x = 1
557 enddef 557 enddef
558 558
559 def Test_expr4_vimscript() 559 def Test_expr4_vimscript()
560 " only checks line continuation 560 " check line continuation
561 let lines =<< trim END 561 let lines =<< trim END
562 vim9script 562 vim9script
563 let var = 0 563 let var = 0
564 < 1 564 < 1
565 assert_equal(1, var) 565 assert_equal(1, var)
597 let var = myblob 597 let var = myblob
598 isnot 0z11 598 isnot 0z11
599 assert_equal(1, var) 599 assert_equal(1, var)
600 END 600 END
601 CheckScriptSuccess(lines) 601 CheckScriptSuccess(lines)
602
603 " spot check mismatching types
604 lines =<< trim END
605 vim9script
606 echo '' == 0
607 END
608 CheckScriptFailure(lines, 'E1072:')
609
610 lines =<< trim END
611 vim9script
612 echo v:true > v:false
613 END
614 CheckScriptFailure(lines, 'Cannot compare bool with bool')
615
616 lines =<< trim END
617 vim9script
618 echo 123 is 123
619 END
620 CheckScriptFailure(lines, 'Cannot use "is" with number')
602 enddef 621 enddef
603 622
604 func Test_expr4_fails() 623 func Test_expr4_fails()
605 let msg = "white space required before and after '>'" 624 let msg = "white space required before and after '>'"
606 call CheckDefFailure(["let x = 1>2"], msg) 625 call CheckDefFailure(["let x = 1>2"], msg)