comparison src/testdir/test_vim9_expr.vim @ 24518:cf334a353c30 v8.2.2799

patch 8.2.2799: Vim9: type casts don't fully work at the script level Commit: https://github.com/vim/vim/commit/459fbdbf9216bc7b4721fc192e08b35039036caa Author: Bram Moolenaar <Bram@vim.org> Date: Wed Apr 21 17:57:26 2021 +0200 patch 8.2.2799: Vim9: type casts don't fully work at the script level Problem: Vim9: type casts don't fully work at the script level. Solution: Implement the missing piece.
author Bram Moolenaar <Bram@vim.org>
date Wed, 21 Apr 2021 18:00:05 +0200
parents aa150abca273
children 9c404d78d767
comparison
equal deleted inserted replaced
24517:9fd77d6cd43c 24518:cf334a353c30
1573 1573
1574 let $TESTVAR = 'testvar' 1574 let $TESTVAR = 'testvar'
1575 1575
1576 " type casts 1576 " type casts
1577 def Test_expr7t() 1577 def Test_expr7t()
1578 var ls: list<string> = ['a', <string>g:string_empty] 1578 var lines =<< trim END
1579 var ln: list<number> = [<number>g:anint, <number>g:thefour] 1579 var ls: list<string> = ['a', <string>g:string_empty]
1580 var nr = <number>234 1580 var ln: list<number> = [<number>g:anint, <number>g:thefour]
1581 assert_equal(234, nr) 1581 var nr = <number>234
1582 1582 assert_equal(234, nr)
1583 CheckDefAndScriptFailure2(["var x = <nr>123"], 'E1010:', 'E15:', 1) 1583 var text =
1584 <string>
1585 'text'
1586 if false
1587 text = <number>'xxx'
1588 endif
1589 END
1590 CheckDefAndScriptSuccess(lines)
1591
1592 CheckDefAndScriptFailure(["var x = <nr>123"], 'E1010:', 1)
1584 CheckDefFailure(["var x = <number>"], 'E1097:', 3) 1593 CheckDefFailure(["var x = <number>"], 'E1097:', 3)
1585 CheckScriptFailure(['vim9script', "var x = <number>"], 'E15:', 2) 1594 CheckScriptFailure(['vim9script', "var x = <number>"], 'E15:', 2)
1586 CheckDefAndScriptFailure2(["var x = <number >123"], 'E1068:', 'E15:', 1) 1595 CheckDefAndScriptFailure(["var x = <number >123"], 'E1068:', 1)
1587 CheckDefAndScriptFailure2(["var x = <number 123"], 'E1104:', 'E15:', 1) 1596 CheckDefAndScriptFailure(["var x = <number 123"], 'E1104:', 1)
1588 enddef 1597 enddef
1589 1598
1590 " test low level expression 1599 " test low level expression
1591 def Test_expr7_number() 1600 def Test_expr7_number()
1592 # number constant 1601 # number constant