Mercurial > vim
diff src/testdir/vim9.vim @ 26654:e01607ab0fab v8.2.3856
patch 8.2.3856: Vim9: not enough tests
Commit: https://github.com/vim/vim/commit/fea43e44c008a7ca73b506ddab0f47b63b5d2126
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Dec 19 21:34:05 2021 +0000
patch 8.2.3856: Vim9: not enough tests
Problem: Vim9: not enough tests.
Solution: Run more expression tests also with Vim9. Fix an uncovered
problem.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 19 Dec 2021 22:45:03 +0100 |
parents | a07323eb647f |
children | c04b28fad0cc |
line wrap: on
line diff
--- a/src/testdir/vim9.vim +++ b/src/testdir/vim9.vim @@ -185,32 +185,33 @@ def CheckTransLegacySuccess(lines: list< ->substitute('\<LSTART\>', '{', 'g') ->substitute('\<LMIDDLE\>', '->', 'g') ->substitute('\<LEND\>', '}', 'g') + ->substitute('\<TRUE\>', '1', 'g') + ->substitute('\<FALSE\>', '0', 'g') ->substitute('#"', ' "', 'g')) CheckLegacySuccess(legacylines) enddef +def Vim9Trans(lines: list<string>): list<string> + return lines->mapnew((_, v) => + v->substitute('\<VAR\>', 'var', 'g') + ->substitute('\<LET ', '', 'g') + ->substitute('\<LSTART\>', '(', 'g') + ->substitute('\<LMIDDLE\>', ') =>', 'g') + ->substitute(' *\<LEND\> *', '', 'g') + ->substitute('\<TRUE\>', 'true', 'g') + ->substitute('\<FALSE\>', 'false', 'g')) +enddef + " Execute "lines" in a :def function, translated as in " CheckLegacyAndVim9Success() def CheckTransDefSuccess(lines: list<string>) - var vim9lines = lines->mapnew((_, v) => - v->substitute('\<VAR\>', 'var', 'g') - ->substitute('\<LET ', '', 'g') - ->substitute('\<LSTART\>', '(', 'g') - ->substitute('\<LMIDDLE\>', ') =>', 'g') - ->substitute(' *\<LEND\> *', '', 'g')) - CheckDefSuccess(vim9lines) + CheckDefSuccess(Vim9Trans(lines)) enddef " Execute "lines" in a Vim9 script, translated as in " CheckLegacyAndVim9Success() def CheckTransVim9Success(lines: list<string>) - var vim9lines = lines->mapnew((_, v) => - v->substitute('\<VAR\>', 'var', 'g') - ->substitute('\<LET ', '', 'g') - ->substitute('\<LSTART\>', '(', 'g') - ->substitute('\<LMIDDLE\>', ') =>', 'g') - ->substitute(' *\<LEND\> *', '', 'g')) - CheckScriptSuccess(['vim9script'] + vim9lines) + CheckScriptSuccess(['vim9script'] + Vim9Trans(lines)) enddef " Execute "lines" in a legacy function, :def function and Vim9 script. @@ -218,6 +219,8 @@ enddef " Use 'LET' for an assignment " Use ' #"' for a comment " Use LSTART arg LMIDDLE expr LEND for lambda +" Use 'TRUE' for 1 in legacy, true in Vim9 +" Use 'FALSE' for 0 in legacy, false in Vim9 def CheckLegacyAndVim9Success(lines: list<string>) CheckTransLegacySuccess(lines) CheckTransDefSuccess(lines)