Mercurial > vim
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) |