Mercurial > vim
diff src/testdir/test_vim9_func.vim @ 20275:350bb78345ba v8.2.0693
patch 8.2.0693: closure using argument not tested
Commit: https://github.com/vim/vim/commit/2fd4cd755c3e87e733b7363ac13e5c0fe0297a80
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 3 22:30:49 2020 +0200
patch 8.2.0693: closure using argument not tested
Problem: Closure using argument not tested.
Solution: Add a test, make it work.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 03 May 2020 22:45:03 +0200 |
parents | 683c2da4982b |
children | 49b50843e725 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -700,5 +700,26 @@ def Test_closure_two_indirect_refs() unlet g:Read enddef +def MakeArgRefs(theArg: string) + let local = 'loc_val' + g:UseArg = {s -> theArg .. '/' .. local .. '/' .. s} +enddef + +def MakeArgRefsVarargs(theArg: string, ...rest: list<string>) + let local = 'the_loc' + g:UseVararg = {s -> theArg .. '/' .. local .. '/' .. s .. '/' .. join(rest)} +enddef + +def Test_closure_using_argument() + MakeArgRefs('arg_val') + assert_equal('arg_val/loc_val/call_val', g:UseArg('call_val')) + + MakeArgRefsVarargs('arg_val', 'one', 'two') + assert_equal('arg_val/the_loc/call_val/one two', g:UseVararg('call_val')) + + unlet g:UseArg + unlet g:UseVararg +enddef + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker