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